ИКОНОМИЧЕСКИ УНИВЕРСИТЕТ - ВАРНА                                      ЦЕНТЪР „МАГИСТЪРСКО ОБУЧЕНИЕ”                       ...
СъдържаниеВъведение..............................................................................................31. Web-п...
Сигурността във Web-приложенията не е трудна за реализиране,но трябва да бъде замислена, проектирана и внедрявана от самот...
Web-приложенията са работна логика, която позволява действияна потребителя с web сайт, обмяна и взаимодействие с всичкикра...
 Web-приложенията могат да имат публична част, която се    вижда от всички (не само от служителите във фирмата) и там    ...
Най-често решенията от този клас представляват хардуерно-софтуерни комплекси, прилагащи набор от правила и политики засигу...
допълнение към това от Web-приложенията се изисква дасъответстват на стандартите за безопасност (PCI DSS, NIST идруги), ме...
Фигура 2.3.1. Cross-Site Scripting (XSS)               8
Какво представлява Cross-Site Scripting (XSS)?  Най-общо казано Cross-Site Scripting (XSS) представлява начин заинжектиран...
Как работят XSS атаките?  XSS позволява на нападателите да изпращат злонамерен код къмдруг потрбител, като се възползват о...
скрипта на нападателя да получи достъп до функционалността насайта, за да открадне „бисквитките” или да извърши транзакции...
3.2. Cross-Site Request Forgery (CSRF)    Какво представлява Cross-Site Request Forgery (CSRF)?  Cross Site Request Forger...
зад защитната стена, които машини може да не са пряко     достъпни от машината на атакуващия.    Прочитане на състоянието...
3.3. SQL инжекция            Какво представлява SQL инжекцията?  Има много начини една система да бъде пробита. Когато ста...
обикновено нямат никакви инструменти за блокиране на въвежданеосвен потребителското име и паролата, което означава, че хак...
3.4. Distributed Denial of Services (DDoS)   Какво представлява Distributed Denial of Services (DDoS)?  Увеличената честот...
Как работят DDoS атаките?  Хакерите извършват DDoS атака, като експлоатират пролуки иуязвимости в компютърната система (че...
Няколко производители предлагат устройства за DDoS защита ипредотвратяване, които са конструирани специално за откриване и...
 Данните се копират в буфера.    Данните препълват буфера.    Препълнените данни препокриват оригиналната процедура на ...
Как да се справим с Buffer Overflaw атаките?  След като знаете как работи атаката с препълване на буфера, по-лесно ще разб...
екзекутира файла и тогава връща обратно резултата на браузера.Следователна динамичните файлове са действително кодизпълним...
Заключение  В днешно време най-простият начин за компрометиране наконфиденциалната корпоративна информация е използването ...
1.http://download.pomagalo.com/435482/vidove+web+bazirani+prilojeniya/2.http://www.referati.org/razrabotka-na-web-prilojen...
Upcoming SlideShare
Loading in …5
×

Web Applications Security

2,273 views

Published on

Web Applications Security

Published in: Education
  • Be the first to comment

  • Be the first to like this

Web Applications Security

  1. 1. ИКОНОМИЧЕСКИ УНИВЕРСИТЕТ - ВАРНА ЦЕНТЪР „МАГИСТЪРСКО ОБУЧЕНИЕ” Катедра „Информатика” РЕФЕРАТ по Безопасност и защита на тема Безопасност и защита на Web- приложения Разработил:Пламена Иванова Митева, ф.н. 9505, гр. 51, спец. ИнформатикаДата: 01.05.2011 г. Проверил:................................... /доц. д-р Стефан Дражев/ 1
  2. 2. СъдържаниеВъведение..............................................................................................31. Web-приложения...............................................................................3 1.1.Какво представляват Web-приложенията?............................................3 1.2. Предимства и недостатъци на Web-приложенията............................42. Защитна стена за Web-приложенията......................................53. Безопасност и защита на Web-приложенията.........................6 3.1. Cross-Site Scripting (XSS)..............................................................................9 3.2. Cross-Site Request Forgery (CSRF).............................................................12 3.3. SQL инжекция................................................................................................14 3.4. Distributed denial of Services (DDoS)..........................................................16 3.5. Buffer Overflaw...............................................................................................18 3.6. Source Code Disclosure (SCD).....................................................................20Заключение..........................................................................................21Използвана литература...................................................................22 Въведение 2
  3. 3. Сигурността във Web-приложенията не е трудна за реализиране,но трябва да бъде замислена, проектирана и внедрявана от самотоначало на разработката, а не като допълнение или кръпка къмдаденото приложение. Много разработчици на Web-приложения не осъзнават тяхнотоключово значение за сигурността на организацията, в която работят.Анализ на атаките показва, че именно Web-приложенията са тези,които позволяват пробиви в сигурността. Тук, в повечето случаи,защитните стени са неефективни, тъй като контролът на достъпа доприложенията, който те осъществяват, е главно на мрежово ниво(Network layer, OSI Reference Model), докато атаките срещу Web-приложенията са на приложно ниво (Application layer, OSI ReferenceModel). Повечето слабости в сигурността са в следствие на един илидруг вид доверие във въведените от потребителя данни. Основенпринцип при разработката на сигурни приложения е, че не трябва дасе гласува доверие на нищо и никого. 1. Web-приложения 1.1. Какво представляват Web-приложенията? Разделянето на различните видове Web-приложения в различникатегории и подкатегории обуславя ясно и точно дефиниране насамото понятие „Web-приложения". То се състои от две думи, всякаот които носи важна информация. Под Web, което се използва засъкратено представяне на World Wide Web, се разбира Интернетили необятното информационно поле на световната мрежа. СамиятInternet представлява набор от информация, услуги, ресурси,средство за обмен на данни, място за получаване на знания.Думата „приложение" според сайта Whatis.com е програма,проектирана да изпълнява специфични функции за потребителяили, в някои случаи, за друга приложна програма. Например заприложения като обработка на текст, програми за бази от данни,браузъри за Internet, инструменти за разработка и комуникационнипрограми. Приложенията използват услугите на операционнатасистема на компютъра и други поддържащи приложения. НакраткоWeb-приложение означава Internet базиран специфичен код. В товакратко определение може да се допълни, че този код е със строгоопределена цел. Това означава, че Web-приложението изпълняваедна или повече зададени задачи. 3
  4. 4. Web-приложенията са работна логика, която позволява действияна потребителя с web сайт, обмяна и взаимодействие с всичкикрайни системи. Пример за такива системи са сайтовете заполучаване на информация за състоянието на банкова сметка,пазаруване on-line и други. Друг важен елемент на Web-приложенията са специфичните имчерти, които ги разделят от традиционните понятия за приложения иWeb-сайт:  Web-приложението установява уникална сесия и взаимодействие с всеки посетител (представител на приложение от този тип е сайтът на Hotmail);  Web-приложението предоставя възможност на потребителите да променят данните за постоянно (създаване, обработване и съхраняване). Данните могат да се вземат от формата за завършена транзакция на продажба, от E-mail съобщение и други. Типичен пример е сайтът на Amazon. Това показва,че не всеки web сайт е типично Web-приложение. Вобществото на световната мрежа за целта има разделение междуWeb-приложение и web сайт, като под web сайт се разбира сайт,който е основан на съдържанието си (content-based website). 1.2. Предимства и недостатъци на Web-приложенията Предимства на Web-приложенията  Не е нужно инсталиране на компютър – Това е огромно предимство особено, ако става въпрос за по-големи фирми с много компютри;  По-ниски разходи;  Централизирано съхранение на данните – лесно се прави back-up на базата данни, което позволява да се възстановят данните в случай на проблем;  Програмата е достъпна от всеки компютър в целия свят (стига да е свързан с Internet);  Достъпност 24 часа, 7 дни в седмицата;  Винаги ползвате последната версия на web програмата (за разлика от другите програми, които трябва да се преинсталират или обновят една по една на всеки компютър);  Online обучение. Ползи за бизнеса от Web-приложенията 4
  5. 5.  Web-приложенията могат да имат публична част, която се вижда от всички (не само от служителите във фирмата) и там да се изнася дадена информация;  Служители или представители, без значение къде се намират, имат пряк достъп до актуална информация;  Лесно менежиране чрез всякакъв вид справки и статистики. Недостатъци на web приложенията  По-бавно, защото информацията протича през Internet;  Рискове за сигурността. 2. Защитна стена за Web-приложенията Много разработчици на Web-приложения не осъзнават тяхнотоключово значение за сигурността на организацията, в която работят.Анализ на атаките показва, че именно Web-приложенията са тези,които позволяват пробиви в сигурността. Тук, в повечето случаи,защитните стени са неефективни, тъй като контролът на достъпа доприложенията, който те осъществяват, е главно на мрежово ниво(Network layer, OSI Reference Model), докато атаките срещу Web-приложенията са на приложно ниво (Application layer, OSI ReferenceModel). Предприятиятa/организациите, втурнали се да отговорят наизискванията за съвместимост с PCI (Payment Card Industry)нормите, могат се окажат в сериозно затруднение, когато започнатда избират защитна стена за Web-приложенията си (Web ApplicationFirewall - WAF). Защитната стена за Web-приложения или защитнастена на приложен слой е устройство или софтуер, разработени, зада защитят Web-приложенията срещу атаки и „изтичане„ наинформация. Стената е разположена между web клиента и webсървъра и анализира съобщенията на приложното ниво за наличиена нарушения в програмираната политика за сигурност. 5
  6. 6. Най-често решенията от този клас представляват хардуерно-софтуерни комплекси, прилагащи набор от правила и политики засигурност към наблюдавания HTTP трафик, идващ от приложениятакъм базата данни и в обратното направление. Тези решенияпозволяват да се контролират такива известни типове атаки, катоCross-Site Scripting (XSS) или SQL-инжекции. С настройване направилата спрямо бизнес приложенията, могат да се откриват иблокират множество атаки. Обаче обемът на работа във връзка стези настройки може да се окаже доста голям, а освен това приизменения в приложенията, трябва да се правят новинастройки. Влияние за появата на решенията от този класопределено оказа стандартът PCI DSS, изискващ защита наинформацията в публичните Web приложения, поне по един отследните 2 метода:- анализ на кода на Web приложенията - ръчно, със сканиране наизходния код или с оценка на уязвимостите;-установяване на точка на прилагане на политиката засигурност. Решенията от клас WAF често се наричат и Deep PacketInspection Firewalls, т.е. защитни стени с дълбок анализ на пакетите,тъй като те анализират всяка заявка и всеки резултат от заявка нанива HTTP/ HTTPS/SOAP/XML-RPC/ Web-услуга. При това, самитеданни в базата остават незащитени, тяхното използване не сеследи – фактически се инспектира само частта от мрежовите заявкикъм базата данни, идваща от сървъра за приложения. Както итрадиционните firewall за защита на периметъра, WAF санеобходими, но не винаги са достатъчни. 3. Безопасност и защита на Web-приложенията Осъзнаването на риска е една много важна част то правилнатапревенция от атаки и злонамерен код. Не би могъл да се изградиплан на действие, преди да бъде осъзнат и оценен потенциалнияриск. В днешно време най-простият начин за компрометиране наконфиденциалната корпоративна информация е използването науязвимостите на Web-приложенията. Как да се открият и отстраняттези от тях, които са недостатъчно надеждни? Логиката на съвременния бизнес е тясно свързана с обработкатана конфиденциална информация, в това число и такава, която едостъпна чрез Интернет. Потенциален достъп до тайните накомпанията може да се получи даже през обикновен браузър. Ако в 6
  7. 7. допълнение към това от Web-приложенията се изисква дасъответстват на стандартите за безопасност (PCI DSS, NIST идруги), международните критерии (ISO/IEC 27005:2008, ITIL, COBITи други) и законодателните норми, става ясна необходимостта отпровеждане на редовен анализ на защитеността. Може да се намерят много материали, посветени на анализа назащитеността на Web-приложенията. Най-интересните от тях сабиблиотеката с документи Open Web Application Security Project(OWASP), съдържаща пълно ръководство за търсене навсевъзможни уязвимости, тяхната класификация и препоръки къмпроцеса на провеждане на анализ на защитеността. От гледна точка на класификацията на уязвимостите, ценни саматериалите на проекта Web Application Security Consortium(WASC). Трябва да се отбележи и отвореният стандарт Open SourceSecurity Testing Methodology Manual (OSSTMM), който разглеждаанализа на защитеността на Web-приложенията в контекста накомплексния процес на тестовете за проникване. Най-общо казано от препълването на буферите до SQLинжекциите хакерите имат много методи на разположение за атакана Web-приложения, като непрекъснато се появяват все по-нови инови методи. Атаките срещу Web-приложенията може да струватмного време и пари на организациите, както и да доведат до скъпи инеприятни пробиви на сигурността на данните, което правиизчерпателните стратегии и механизми за защита задължителни. В тази връзка съществуват няколко съвета за защита срещу атакикъм Web-приложенията – от появата им до идентифицирането наизвестни и неясни атаки, в това число:  Cross-Site Scripting (XSS);  Cross-Site Request Forgery (CSRF);  Distributed Denial of Services (DDoS);  SQL инжекция;  Buffer Overflow;  Source Code Disclosure (SCD);  и други. Фигура 1. 7
  8. 8. Фигура 2.3.1. Cross-Site Scripting (XSS) 8
  9. 9. Какво представлява Cross-Site Scripting (XSS)? Най-общо казано Cross-Site Scripting (XSS) представлява начин заинжектиране на код в генериран HTML. Това става с помощта напроменливите, предавани чрез метода GET или при нефилтрирано(непроверено) поле за специални символи, използвани в HTML.Основно XSS се използва за крадене на сесия или „бисквитки”(“cookies”). XSS е атака, която използва уязвимост при приложението и„вмъква” нежелан код, който се изпълнява в браузера на крайнияпотребител. По този начин атаката цели да намери място впрограмата, в което се отпечатва стойността на дадена променливаи не се проверява конкретно нейното съдържание. Почти нямаприложение в Internet, което да няма или да не е имало XSSуязвимост. В днешно време с навлизането на все повече технологиикато ActionScript на Flash или Ajax скриптовете, XSS атаките всеповече добиват популярност. На практика всички тези проблеми сезараждат в момента, когато сървърите придобиват функционалностза директно изпълнение на код при клиента (например JavaScript). 9
  10. 10. Как работят XSS атаките? XSS позволява на нападателите да изпращат злонамерен код къмдруг потрбител, като се възползват от пробойна или слабост вInternet сървъра. Нападателите се възползват от XSS средства, зада инжектират злонамерен код в линк, който изглежда, че заслужавадоверие. Когато потребителят щракне върху линка, вграденотопрограмиране се включва и се изпълнява на компютъра напотребителя, което предоставя на хакера достъп, за да откраднечувствителна информация. Нападателите използват XSS, за да севъзползват от уязвимостите на машината на жертвата и отзловредния код в трафика вместо да атакуват самата система. Нападателите имат възможност да променят HTML кода, койтоконтролира страницата, като използват web форми, които връщатсъобщение за грешка при въвеждане на данни от потребителя.Хакерът може да вмъкне код в линка на спам съобщение или даизползва E-mail измама с цел да подмами потребителя да смята, чеизточникът е легитимен. Например нападател може да изпрати на жертвата E-mailсъобщение с URL, което сочи към Web сайт и го снабдява съсскрипт за влизане, или публикува злонамерен URL в блог или сайтна социална мрежа като Facebook или Twitter. Когато потрбителятщракне върху линка, зловредният сайт, както и скриптът, заработватв браузера му. Обаче браузерът не знае, че скриптът е злонамерени сляпо изпълнява програмата, която на свой ред позволява на 10
  11. 11. скрипта на нападателя да получи достъп до функционалността насайта, за да открадне „бисквитките” или да извърши транзакции,представящи се за легитимен потребител. Минимални изисквания, за да се стартира XSS атака  Web-приложение, което показва данни директно въведени от потребителите без необходимото филтриране или коректна трансформация;  Ако атаката се провежда чрез JavaScript, VBScript, ActiveX браузер, който поддържа някоя от тези технологии;  HTML injection атаката работи със всички браузери. До какво може да доведе една XSS атака?  Крадене на акаунти, промяна на потребителски настройки, крадене на „бисквитки”, подправяне на „бисквитки”, непозволено рекламиране, Denial of Services атаки, използване на клиента като трамплин за атака на други сайтове и т.н.;  Използване на FORM за крадене на информация (подвеждане на потребителя, ако ползва SSL);  Добиване на достъп до данни, до които атакуващият няма права;  Единственото ограничение е въображението на атакуващия. Защити, приложени от програмистите на web-приложения  Подсигуряване, че динамично генерираните страници не съдържат потребителски данни, които не са проверени;  Твърдо оказване на character set-а, който ползва страницата;  Използване на POST,а не GET във формите;  Използване на HTTP ONLY „бисквитки”. Защити, приложени от администраторите  Обновяване на web сървърите, които позволяват XSS атаки да се провеждат през страниците за грешки на самите сървъри. 11
  12. 12. 3.2. Cross-Site Request Forgery (CSRF) Какво представлява Cross-Site Request Forgery (CSRF)? Cross Site Request Forgery (CSRF) е подход, който често използваXSS уязвимост в приложението, чрез която се достигакомпрометиране на самото приложение. Обикновено се използвапотребител, на който приложението има „доверие“ (например такъвс административни права). Така атакуващият, като обикновенпотребител, не би могъл сам да предизвика желания резултат ипоради тази причина използва XSS уязвимост за изпълнение назаявка чрез друг потребител (с по-високи права). CSRF е широко използвана уязвимост на web страниците. В тазиатака атакуващият нарушава цялостта на потребителската сесия сweb страницата като инжектира заявка по мрежата посредством webбраузера на потребителя. Политиката на сигурност на браузеритепозволява web адресите да изпращат HTTP заявка до който и да емрежови адрес. Последната политика позволява атакуващ, койтоконтролира съдържание, което потребителя зарежда, да използваресурси, които иначе не са под негов или нейн контрол:  Мрежови достъп: Например, ако потребителят е зад защитна стена (firewall), атакуващият е в състояние да накара браузера на потребителя да изпрати мрежови заявки до други машини 12
  13. 13. зад защитната стена, които машини може да не са пряко достъпни от машината на атакуващия.  Прочитане на състоянието на браузера: Заявки, изпратени чрез браузера по принцип включват състоянието на браузера като „бисквитки”, клиентски сертификати и основни удостоверационни хедъри. Web страници, които разчитат на тези удостоверения може да бъдат объркани от такива заявки.  Промяна на състоянието на браузера: Когато атакуващият накара браузера да изпрати мрежова заявка, браузерът също обработва отговора. Ето и 2 модела на заплаха, различаващи се по възможностите наатакуващия:  Публикация във форум: Много web страници като форумите позволяват на потребителите да предлагат ограничени видове съдържание. Например, страниците често позволяват на потребителите да качват пасивно съдържание като снимки и хиперлинкове. Ако атакуващ зададе злонамерен URL на снимка, мрежовата заявка при зареждане на снимката може да доведе до CSRF атака.  web атака: Атакуващият кара потребителя да посети web страница управлявана от първия. Ако потребител посети такава страница, тя от своя страна може да зареди CSRF атаки с GET или POST HTTP методи. Как да се защитим от web атаката CSRF? Има разнообразни начини за защита от CSRF, но най-общото еповторно изпращане на удостоверяващата автентичност заглавначаст на заявката (в повечето случаи това са „бисквитки”) най-малкоза всички заявки, които водят до промяна на състояние напотребителската сесия. Това се постига чрез скрити полета в HTMLформите или се влага в URL адреса на действието. В CSRF атакуващият няма достъп до оторизационните данни (подформата на уникален ключ за сесията, съдържаща се най-често в„бисквитките”, който на сървъра отговаря на потребителя и така нанеговите данни и права), а само използва поведението на браузерапри заявка до даден адрес да прикача към заявката „бисквитките”,принадлежащи към домейна на страницата. 13
  14. 14. 3.3. SQL инжекция Какво представлява SQL инжекцията? Има много начини една система да бъде пробита. Когато ставадума за web базиран софтуер, това най-често става със SQLинжекции. Това е най-разпространения начин за атакуване на webсайт. В най-общи линии SQL инжекциите са уязвимости с начина наобработка на заявките към SQL сървъра. Обикновено бива подаванпараметър, който освен информацията с ключа за конкретен запис,съдържа и допълнителен код. По този начин хакерите могат даизвличат информация от базата данни. Това могат да бъдат e-mailадреси, които след това се използват за спам цели,администраторски профили и друга конфиденциална информация.Ето защо е важно да бъдат използвани силни пароли. Те се пазят вбазата с данни в криптиран вид. От своя страна лесно се разбиват(посредством Bruteforce и MD5 Hash databases) лесните пароли.Обикновенно сложните не могат да бъдат декриптирани. Всеки единпрограмен език е уязвим към SQL инжекции. Най-често те се срещатпри PHP, Perl, ASP.NET. Как работят атаките с SQL инжекции? Нападателите получават достъп до Web-приложенията чрез SQLинжекция, като добавят Structured Query Language (SQL) код къмкутийка на web форма за въвеждане под формата на SQL заявка,което е искане към базата данни да изпълни специфично действие.Обикновено по време на потребителското удостоверяване севъвеждат потребителско име и парола и се включват в запитване.След това на потребителя или му се предоставя, или му се отказвадостъп в зависимост дали е дал правилни данни. Web формите 14
  15. 15. обикновено нямат никакви инструменти за блокиране на въвежданеосвен потребителското име и паролата, което означава, че хакеритемогат да изпълнят атака с SQL инжекция, като използват входнитеполета, за да изпратят заявка към базата данни, която е многовероятно да им предостави достъп. Как да се справим с хакерските атаки с SQL инжекция? Има няколко стъпки, които всяка организация може дапредприеме, за да намали вероятността да стане жертва на атака сSQL инжекция:• Да ограничи привилегиите за достъп на потребителитеДавайте на служителите и потребителите само достъп доинформация, от която се нуждаят, за да изпълнят своите задачи.• Осигурете бдителност на потребителите по отношениена сигурносттаУбедете се, че служителите, които имат нещо общо сразработването на Web сайта (както и специализираните Webразработчици), съзнават заплахите от SQL инжекции и познаватдобрите практики, с които да обезопасяват сървърите ви.• Намалете информацията за отстраняване на бъговетеКогато един Web сървър сигнализира грешка, осигурете подробнатаинформация за нея да не се показва на потребителя, тъй като тазиинформация може да помогне на хакерите да извършатзлонамерени действия и да се сдобият с информацията, която им енужна, за да атакуват успешно сървъра.• Тествайте Web-приложениетоТествайте Web-приложението и проверете работата на Webразработчиците чрез изпращане на информация през Web сървъра– ако резултатът е съобщение за грешка, то е вероятноприложението да е податливо на атака с SQL инжекция. 15
  16. 16. 3.4. Distributed Denial of Services (DDoS) Какво представлява Distributed Denial of Services (DDoS)? Увеличената честота и сложност на Distributed Denial of Services(DDoS) атаките рязко промениха представите за мрежова иинформационна сигурност. Спирайки ги чрез защитна стена тезапочнаха да се превръщат в едно все по-скъпо и все по-малкоефективно начинание. В резултат, на което филтрирането иотстраняването на тези атаки, се е превърнал в един от огрмнитепроблеми на всяка една организация. Най-общо казано DDoS атаките умишлено възпрепятстватдостигането до информационните ресурси на Internet потребителя,обикновено чрез претоварване на мрежата чрез изпращане наизлишен трафик от много източници. Този вид атаки обикновено сеосъществяват като излишния трафик бъде инжектиран в онзи, койтотрябва да стигне до самите потребители. Най-често това нещо сеизвършва от ботове, които на ден използват средно между 4 и 6милиона потребителски станции, за да разпространяват именнотози код. Такъв вид атаки силно натоварват трафика, като крайнатаим цел е всяка следваща станция, докато не се стигне до някойсървър. 16
  17. 17. Как работят DDoS атаките? Хакерите извършват DDoS атака, като експлоатират пролуки иуязвимости в компютърната система (често Web сайт или Webсървър), за да се позиционират като главна система. След катоведнъж са се поставили в положение на главна система, хакеритемогат да идентифицират и комуникират с другите системи за понататъшно компрометиране. След като нарушителят е поел контрол над множествокомпрометирани системи, той може да възложи на машините дазапочнат някоя от многото атаки за препълване, докато целеватасистема се препълни с фалшиви искания за трафик, което щедоведе до отказ на услуга за ползвателите на тази система. Потокътот входящите съобщения от компрометираните системи, щепричини спиране на системата цел и отказ от услуги към нея, коетоводи до невъзможност за достъп на потребителите до каквото и дабило. Как да се защитим от DDoS атаките? Предотвратяването на DDoS атака може да бъде трудно, тъй катотя е предизвикателство за това как да се направи разграничениемежду зловредна заявка за трафик и легитимна такава, тъй като теизползват еднакви протоколи и портове. Все пак има няколкостъпки, които могат да се предприемат за защита на вашитесистеми от разпределени атаки, предизвикващи отказ от услуги:• Уверете се, че имате излишък от честотна лента въввръзката на организацията с интернетТова е една от най-лесните защити срещу DDoS, но може да сеокаже доста скъпа. Просто като имате много честотна лента заобслужване на заявките за трафик, това може да помогне запредпазване от ниско ниво DDoS атаки. Също така, колкото по-широка честотна лента има организацията, толкова повече трябвада направи нападателят, за да запуши връзката й.• Уверете се, че използвате система за откриване напрониквания (Intrusion Detection System, IDS)Няколко от наличните днес системи за откриване на прониквания саснабдени с технологии за защита на системите от DDoS атаки, катоизползват методи за проверка и потвърждаване на връзката и запредотвратяване достигането до корпоративните сървъри наопределени заявки.• Използвайте продукт за защита от DdoS 17
  18. 18. Няколко производители предлагат устройства за DDoS защита ипредотвратяване, които са конструирани специално за откриване иосуетяване на DDoS атаки.• Подгответе се за отговорИзползването на регулиращи и ограничаващи технологии може данамали въздействието от DDoS атаката.• Поддържайте резервна интернет връзка с отделна база синтернет адреси за критични потребителиТова ще ви предложи алтернативен път, ако първичната верига епретоварена със злонамерени заявки. 3.5. Buffer Overflow Какво представлява Buffer Overflow и как работи? Buffer overflow (или Препълване на буфер) се случва, когато вбуфер или друго място за съхранение на данни се сложи повечеотколкото буферът може да съхранява. Буферът е временна областза съхранение на данни. Когато там се поставят повече данни,отколкото е предвидено първоначално от даден програмен исистемен процес, допълнителните данни ще го препълнят, откъдетопроизлиза и името, причинявайки част от данните да изтекат къмдруги буфери, което може да разруши данните, които те съдържатили да запише върху тях. По-горе посочената фигура изобразява най-основните поредициот събития при една Buffer Overflaw атака: 18
  19. 19.  Данните се копират в буфера.  Данните препълват буфера.  Препълнените данни препокриват оригиналната процедура на адрес за връщане.  Новият адрес за връщане сега сочи към новите данни в буфера, които могат да бъдат злонамерени инструкции.  Тези инструкции предизвикват изпълнение на вируса. При атака за препълване на буферите препълващите даннипонякога съдържат специфични инструкции за дейности,проектирани от хакери или злонамерени потребители. Напримерданните могат да превключат отговор, който уврежда файловете,променя данните или разкрива частна информация. Хакерите биха използвали буферното препълване, за да севъзползват от програма, която очаква въвеждане от потребителя.Има два типа буферно препълване:  Стек базирани - Стек (от stack – купчина) базираното препълване на буфера, което се среща по-често сред хакерите, експлоатира приложения или програми, като използва това, което е известно като стек – пространство от паметта, използвано за съхранение на потребителски въвеждания.  Хип базирани - Хип (от heap – купчина) базираните са по- трудни за изпълнение и затова се срещат по-рядко. Те атакуват приложението чрез „наводняване“ на пространството памет, запазено за програмата. Един стек може да поддържа само определено количество даннии ако входният низ е по-дълъг от резервираното пространство,резултатът е препълване, създаващо дупка в сигурността. Хитритезлонанерени хакери търсят такива пробойни със специалнонаписани команди, които причиняват препълване и задействататаката. След като злонамерената команда е причинилапрепълване, хакерът все още трябва да изпълни командата, катопосочи адрес за връщане, който сочи към командата. Препълванетона буфера „счупва“ частично приложението, но то се опитва да севъзстанови, като отива към адреса за връщане, който е билпренасочен към злонамерената команда от хакера. Когато атаката с препълване на буфера задейства командата,намерена в новия адрес за връщане, програмата смята, че все ощеработи. Това означава, че командният прозорец, който е бил отворен,работи със същия набор изпълними разрешения, кактоприложението, което е било компрометирано, позволявайки нахакера да получи пълен контрол над операционната система. 19
  20. 20. Как да се справим с Buffer Overflaw атаките? След като знаете как работи атаката с препълване на буфера, по-лесно ще разберете как да я спрете да не се инфилтрира въввашата система и да поеме контрол над приложенията. Тук сададени няколко начина за подсилване на вашата защита ипредотвратяване на буферното препълване:1. Избягвайте да използвате библиотечни файлове.Библиотечните файлове, които се използват в езиците запрограмиране и по природа са несигурни, са цел за хакерите повреме на атаките срещу приложенията. Всяка слабост, намерена отхакера в библиотечния файл, ще съществува също във всичкиприложения, които използват библиотечни файлове, давайки нахакерите блестяща цел за потенциална атака.2. Филтрирайте въвежданията от потребителите.Филтрирайте вероятни опасни HTML кодове и знаци, които могат дапричинят проблеми с базата данни. Например в ASP кодаапострофът, кавичките, амперсантът са запазени символи. Тезизапазени символи не могат да се включват в данните, въвеждани отпотребителите или те ще причинят счупване на приложението.Филтрирайте ги и ги заменете с нещо друго, за да избегнетеусложнения и проблеми.3. Тествайте приложенията.Тествайте приложенията преди внедряването им. Опитайте се дапробиете всяко приложение, за да си осигурите сигурни кодове. Акоприложението бъде пробито, ще е ясно, че има проблем, който сенуждае от поправка, преди да се даде възможност на хакерите да севъзползват от него. 4.6. Source Code Disclosure (SCD) В най-общи линии Source Code Disclosure (SCD) атакитепозволяват на злонамерения потребител да получи изходния код наserver-side приложение. Тази уязвимост предоставя на хакерите по-дълбоко познаване на логиката на самото Web-приложение. Нападателите използват SCD атаките, за да се опитат да получатизходния код на server-side приложенията. Основното правило наweb сървърите е да служат на файловете, както се изисква отклиентите. Файловете могат да бъдат статични, каквито са HTMLфайловете, или динамични, каквито са ASP, JSP и PHP файловете.Когато браузерът изисква динамичен файл, web сървърът първо 20
  21. 21. екзекутира файла и тогава връща обратно резултата на браузера.Следователна динамичните файлове са действително кодизпълними на web сървъра. С помощта на SCD атаката атакуващият може да изтеглиизходния код на server-side скриптовете като ASP, PHP и JSP.Получаването на изходния код на server-side скриптоветепредоставя на хакерите по-дълбоко познаване на логиката на Web-приложенето, т.е. как приложението ръководи исканията и технитепараметри, структурата на базата данни, уязвимостите в кода икоментарите относно изходния код. Имайки изходния код иевентуалното издаване на дубликат на приложението за тестване,помагат на нападателя да се подготви за нападение на самото Web-приложение. Всеки един хакер може да причини SCD, използвайки една отследните методи:  Използване на познати уязвимости за source disclosure;  Експлоатиране на уязвимостите в приложението, което може да позволи source disclosure;  Разработване на подробни грешки, които могат понякога да включват изходния код;  Използване на други видове добре познати уязвимости, които могат да бъдат полезни за source disclosure. 21
  22. 22. Заключение В днешно време най-простият начин за компрометиране наконфиденциалната корпоративна информация е използването науязвимостите на Web-приложенията. Как да се открият и отстраняттези от тях, които са недостатъчно надеждни? От препълване на буферите до SQL инжекциите хакерите иматмного методи на разположение за атака на Web-приложения, катонепрекъснато се появяват и нови методи. Атаките срещу Web-приложенията може да струват много време и пари наорганизациите, както и да доведат до скъпи и неприятни пробиви насигурността на данните, което прави изчерпателните стратегии имеханизми за защита задължителни. В тази връзка съществуват няколко съвета за защита срещу атакикъм Web-приложенията – от появата им, идентифицирането наизвестни и неясни атаки, включително Cross-Site Scripting (XSS),Cross-Site Request Forgery (SCRF), SQL инжекция, разпределенотказ от услуги или Distributed Denial of Service (DDoS), препълванена буфер или Buffer Overflaw, Source Code Disclosure, както и многодруги. 22
  23. 23. 1.http://download.pomagalo.com/435482/vidove+web+bazirani+prilojeniya/2.http://www.referati.org/razrabotka-na-web-prilojeniq-s-java/22743/ref3.http://www.isportals.com/blog/2010/10/predimstva-na-web-bazi-danni/4.http://review.sagabg.net/izbor-na-podhodyashata-zashitna-stena-za-ueb-prilo.html5.http://review.sagabg.net/kak-da-zashitim-ueb-prilozheniyata-predotvratyavan.html6.http://cio.bg/2990_zashtitata_na_na_ueb_prilozheniyata__prilozhete_prevantiven_podhod7.http://www.securiteweb.org/jamsec_webdefenseur_2010_web_attack_protection/web-attacks.html8.http://www.acunetix.com/websitesecurity/cross-site-scripting.htm9.http://community.citrix.com/display/ocb/2010/04/29/How+to+use+NetScaler+Application+Firewall+to+defend+against+CSRF+attacks10.http://www.imperva.com/resources/glossary/source_code_disclosure.html 23

×