Архів для категорії 'Програми'

Визначення серверних заголовків

22:47 15.10.2010

В веб секюріті діяльності та при веб розробці нерідко виникає потреба в визначенні серверних заголовків. Наприклад при аудиті безпеки сайтів чи розробці веб додатків. В заголовках сервера може бути багато цікавої інформації, зокрема витоки версій веб сервера та його модулів, а також версій веб додатків.

Існують спеціальні програми для визначення заголовків серверів. Але найбільш зручним інструментом, як для мене, є плагіни до браузерів, що дозволяють переглядати заголовки (як ті, що відправляються до сервера, так і ті, що повертає сервер). Зокрема є такий плагін для Mozilla та Firefox як Live HTTP headers, яким я користуюся вже багато років.

Також існують різні онлайн сервіси, що дозволяють визначати серверні заголовки на довільних сайтах. Одними з таких сервісів є www.onlinewebcheck.com (відомий також як online.htmlvalidator.com) та about42.nl, про уразливості в яких я писав раніше. Так що всі подібні сервіси без захисту від Insufficient Anti-automation можуть бути використанні для атак на інші сайти, про що я писав в статті Використання сайтів для атак на інші сайти. Для цього можна використати DAVOSET.

На сторінці http://www.onlinewebcheck.com ви можете провести валідацію html та подивитися серверні заголовки довільного сервера.

А на сторінці http://about42.nl/www/showheaders.php ви можете подивитися серверні заголовки довільного сервера. По замовчуванню виводяться серверні хедери google.com.

Тестування SSL серверів

19:14 12.10.2010

Існує такий онлайн-сервіс від Qualys як SSL Server Test. Що дозволяє тестувати SSL сервери та веде БД перевірених серверів.

За допомогою даного сайта можна подивитися базу даних публічних SSL серверів (Public SSL Server Database), з числа тих серверів, що були протестовані. А також можна перевірити конфігурацію веб сервера з підтримкою SSL, як власного, так і будь-якого іншого сервера (SSL Server Test).

При тестуванні сервера оцінюються такі показники як Certificate, Protocol Support, Key Exchange і Cipher Strength. Після чого серверу виставляється загальний рейтинг.

Можете ознайомитися з роботою сервіса на прикладі сайта www.ssllabs.com:

https://www.ssllabs.com/ssldb/analyze.html?d=www.ssllabs.com

P.S.

Сервіс хороший. Але має Insufficient Anti-automation уразливість. І хоча запити на перевірку сервера кешуються, але на сайті є можливість очистки кешу для перевіреного сервера (тому кешування легко обходиться і сам сайт може бути перенавантажений запитами на перевірку серверів).

Антивірус для сайтів Web of Trust

22:47 30.09.2010

Продовжуючи тему антивірусів для сайтів, розповім вам про ще один подібний сервіс. Це WOT - Web of Trust. В деякій мірі це ще один конкурент моїй Web VDS.

Даний сервіс призначений для створення рейтингу довіри до сайтів. В тому числі він може використовуватися для захисту від вірусів на веб сайтах та інших шкідливих сайтів. Він доступний як у вигляді плагіна для браузерів, так і у вигляді онлайн сервіса.

Веб сервіс Web of Trust відрізняється від таких сервісів як McAfee SiteAdvisor, Norton Safe Web від Symantec (хоча є деяка схожість з ними) та інших тим, що він представляє собою не сервіс виявлення шкідливого коду на сайтах, а рейтинг сайтів (де є в тому числі і шкідливі сайти). В цьому він подібний до сервісів Clean MX та DNS-BH – Malware Domain Blocklist.

Щоб скористатися даним сервісом, потрібно зайти на сайт та переглянути перелік сайтів за популярністю, та почитати детальну інформацію про сайт на сторінці WOT Reputation Scorecard (для конкретного сайта). Де може бути вказана інформація про інфікованість конкретного сайта. Або можна скористатися плагіном WOT add-on, що розроблений для багатьох браузерів (Mozilla Firefox, Google Chrome, Internet Explorer, Safari, а також існує букмарклет для інших браузерів).

Можете подитивитися на детальну інформацію про інфікований сайт tipsyking.com:

http://www.mywot.com/en/scorecard/tipsyking.com

Вийшов PHP 5.3.3

20:07 31.08.2010

У зв’язку з проблемами з доступом в Інтернет в суботу і в понеділок з публікаціями на сайті виникли затримки. Але я в будь-якому разі виконаю заплановане і опублікую необхідні пости ;-) . Стосовно ж новин.

У липні, 22.07.2010, вийшов PHP 5.3.3. В якому виправлено більше 100 помилок, в тому числі й чимало уразливостей. Даний реліз направлений на покращення стабільності та безпеки гілки 5.3.x.

Cеред секюріті покращень та виправлень в PHP 5.3.3:

  • Rewrote var_export() to use smart_str rather than output buffering, prevents data disclosure if a fatal error occurs.
  • Fixed a possible resource destruction issues in shm_put_var().
  • Fixed a possible information leak because of interruption of XOR operator.
  • Fixed a possible memory corruption because of unexpected call-time pass by refernce and following memory clobbering through callbacks.
  • Fixed a possible memory corruption in ArrayObject::uasort().
  • Fixed a possible memory corruption in parse_str().
  • Fixed a possible memory corruption in pack().
  • Fixed a possible memory corruption in substr_replace().
  • Fixed a possible memory corruption in addcslashes().
  • Fixed a possible stack exhaustion inside fnmatch().
  • Fixed a possible dechunking filter buffer overflow.
  • Fixed a possible arbitrary memory access inside sqlite extension.
  • Fixed string format validation inside phar extension.
  • Fixed handling of session variable serialization on certain prefix characters.
  • Fixed a NULL pointer dereference when processing invalid XML-RPC requests.
  • Fixed SplObjectStorage unserialization problems.
  • Fixed possible buffer overflows in mysqlnd_list_fields, mysqlnd_change_user.
  • Fixed possible buffer overflows when handling error packets in mysqlnd.
  • Also upgraded bundled sqlite to version 3.6.23.1.
  • Upgraded bundled PCRE to version 8.02.
  • Fixed a possible crash because of recursive GC invocation.
  • Fixed bug #52238 (Crash when an Exception occured in iterator_to_array).
  • Fixed bug #52041 (Memory leak when writing on uninitialized variable returned from function).
  • Fixed bug #52060 (Memory leak when passing a closure to method_exists()).
  • Fixed bug #52001 (Memory allocation problems after using variable variables).

По матеріалам http://www.php.net.

Вийшов PHP 5.3.2

19:24 29.08.2010

У березні, 04.03.2010, вийшов PHP 5.3.2. В якому виправлено більше 70 помилок, в тому числі й чимало уразливостей. Даний реліз направлений на покращення стабільності та безпеки гілки 5.3.x.

Cеред секюріті покращень та виправлень в PHP 5.3.2:

  • Покращена ентропія LCG.
  • Виправлена валідація safe_mode всередині tempnam() коли шлях директорії не завершувався слешем (/).
  • Виправлений можливий обхід open_basedir/safe_mode в розширенні session.
  • А також додана підтримка SHA-256 і SHA-512 до функції crypt.
  • Доданий захист для $_SESSION від пошкоджень та покращена перевірка “session.save_path”.
  • Виправленні вибивання в функції crypt та в garbage collector.
  • Виправлений збій в ldap_next_reference.

По матеріалам http://www.php.net.

Вийшов PHP 5.2.14

22:41 26.08.2010

У липні, 22.07.2010, вийшов PHP 5.2.14. В якому виправлено більше 60 помилок, в тому числі й чимало уразливостей. Даний реліз направлений на покращення стабільності та безпеки гілки 5.2.x.

Cеред секюріті покращень та виправлень в PHP 5.2.14:

  • Переписаний var_export() для використання smart_str замість вихідної буферизацї, щоб не допустити витоки інформації при фатальних помилках.
  • Виправлений можливий витік масиву преривань в strrchr().
  • Виправлений можливий витік масиву преривань в strchr(), strstr(), substr(), chunk_split(), strtok(), addcslashes(), str_repeat(), trim().
  • Виправлене можливе пошкодження пам’яті в substr_replace().
  • Виправлені проблеми ансеріалізації SplObjectStorage.
  • Виправлене можливе вичерпання стеку всередині fnmatch().
  • Виправлений NULL pointer dereference при обробці некоректних запитів XML-RPC.
  • Виправлена обробка серіалізації сесійних зміних на деяких символах.
  • Виправлений можливий довільний доступ до пам’яті всередині розширення sqlite.
  • А також оновлений PCRE до версії 8.02.
  • Виправлені вибивання в iterator_to_array та при роботі з вказівниками.
  • Виправлений витік пам’яті при запису в неініціалізовану змінну, що повернута з функції.
  • Виправлені вибивання в __destruct() та debug_backtrace().
  • Виправлене вибивання при роботі з iconv на MacOS.

По матеріалам http://www.php.net.

Вийшов PHP 5.2.13

19:31 25.08.2010

У лютому, 25.02.2010, вийшов PHP 5.2.13. В якому виправлено більше 40 помилок, в тому числі й декілька уразливостей. Даний реліз направлений на покращення стабільності та безпеки гілки 5.2.x.

Cеред секюріті покращень та виправлень в PHP 5.2.13:

  • Виправлена валідація safe_mode всередині tempnam() коли шлях директорії не завершувався слешем (/).
  • Виправлений можливий обхід open_basedir/safe_mode в розширенні session.
  • Покращена ентропія LCG.
  • А також виправлений збій в ldap_next_reference.

По матеріалам http://www.php.net.

Вийшов WordPress 3.0.1

18:26 31.07.2010

Нещодавно, 29.07.2010, вийшла нова версія WordPress 3.0.1. Вихід нової версії WP співпав в часі з анонсом мого проекту День багів в WordPress 2 :-) .

WordPress 3.0.1 це багфікс випуск 3.0 серії. В якому розробники виправили різноманітні баги. Всього було виправлено близько 50 багів.

Вийшов WordPress 3.0

19:07 28.07.2010

У червні, 17.06.2010, вийшла нова версія WordPress 3.0.

WordPress 3.0 це перший випуск нової 3.0 серії. В ній додано чимало покращень порівняно з попередніми 2.9.x версіями, всього було зроблено 1217 покращень та виправлень багів.

Серед нових функцій і можливостей нової версії движка можна віділити наступні: нова тема по замовчуванню Twenty Ten, нові API для налаштування тем (що дозволяють налаштовувати фони, заголовки, короткі лінки, меню, типи постів та таксономії), обєднання WordPress та WP MU (що дозволить створювати багато-сайтову функціональність з однієї інсталяції) та більш легкий інтерфейс.

Серед нових покращень стосовно безпеки в WP 3.0 була зроблена наступна можливість. Відтепер на етапі інсталяції можна вказати логін адміна.

Ефективність проведення атак на сайти через використання інших сайтів

19:15 10.07.2010

Для привернення більшої уваги до проблеми описаної в статті Використання сайтів для атак на інші сайти, я провів додаткові дослідження. Для оцінки легкості, зручності та ефективності проведення атак на сайти через використання інших сайтів. Зокрема DoS та DDoS атак, про які я писав у вищезгаданій статті. Щоб показати, що дані атаки не є лише моїм припущенням, але їх цілком реально, легко і зручно проводити (і вони мають достатню ефективність).

Можливі наступні види DoS та DDoS атак з використанням даного методу:

1. DoS атака з використанням іншого сайту в якості проксі.
2. DoS атака з використанням іншого сайту в якості нападника.
3. DDoS атака з використанням багатьох інших сайтів в якості серверів-зомбі.

Якщо з першим двума видами атак все відносно просто і їх відносно легко проводити (в першому випадку лише потрібно знайти DoS уразливість на сайті, а в другому - великий файл на сайті), то з третьою атакою з використанням серверів-зомбі все більш складніше. Бо потрібно знайти відповідні Abuse of Functionality уразливості на багатьох сайтах та створити ботнет з серверів-зомбі. І щоб продемонструвати реальність даних атак я розробив спеціальну програму, про яку розповім в даній статті.

DoS атака з використанням іншого сайту в якості проксі.

http://www.google.com/ig/add?feedurl=http://site/script?p=benchmark(100000,md5(now()))

В цьому випадку використовується DoS уразливість на сайті http://site (в даному випадку DoS через SQL Injection), для проведення атаки через сайт Гугла (через функціонал iGoogle).

DoS атака з використанням іншого сайту в якості нападника.

http://www.google.com/ig/add?feedurl=http://site/big_file

При наявності великого файлу на сайті http://site можна провести DoS атаку на нього через сайт Гугла, вказавши в iGoogle адресу цього файлу. І якщо зробити серію таких запитів до iGoogle, сервер Гугла перенавантажить своїми запитами сервер, що атакується.

DDoS атака з використанням багатьох інших сайтів в якості серверів-зомбі.

Для дослідження ефективності даних атак я розробив програму для проведення DDoS атак через використання інших сайтів. Яку я назвав DDoS attacks via other sites execution tool (DAVOSET). Це інструмент для проведення DDoS атак через Abuse of Functionality уразливості на сайтах.

Для атаки в DAVOSET потрібно вказати лише адресу сайта, що атакується (http://site), або великого файлу на цьому сайті (http://site/big_file) чи DoS уразливості на ньому. Після чого всі зомбі-сервери зі списку заданого в програмі атакують вказаний сайт і перенавантажать сервер.

Для дослідження я використав 20 зомбі-серверів - це 20 онлайн сервісів, що мають Abuse of Functionality уразливості, що розміщені на 10 фізичних серверах (деякі з цих сервісів розміщені на одному сервері, а також є випадки використання декількох різних уразливих скриптів чи різних уразливостей в одному скрипті одного сервіса). Для тестування були вибрані два невеликих сайти на двух не дуже потужних серверах (враховуючи невелику кількість зомбі-серверів в ботнеті).

Для першого сайта: в результаті атаки завантаження головної сторінки даного сайта зросло в середньому на 21,19% - з 4,72 с. до 5,72 с. Тобто сайт став тормозити на короткий час. І це лише при 20 зомбі-серверах.

При цьому результати роботи DAVOSET наступні (за один запуск): час 0:05, запитів 20, байт відправлено 3068. Тобто невеличкий об’єм трафіку використаного програмою призвів до значно більшого об’єму трафіку на сервер, що атакується. При циклічному запуску програми (наприклад, кожні 5 секунд) та при більшій кількості зомбі-серверів, можна повністю заблокувати роботу даного серверу.

Для другого сайта: в результаті атаки завантаження головної сторінки даного сайта зросло в середньому на 1677% - з 2,21 с. до 39,28 с. (і на 3465% - до 78,80 с. при повторному тестуванні через пів години). І це лише при 20 зомбі-серверах.

При цьому результати роботи DAVOSET наступні (за один запуск): час 0:03, запитів 20, байт відправлено 3368. Зазначу, що другий сервер після запуску декількох атак (для підрахунку середнього значення) починав не просто сильно тормозити, а взагалі підвисав майже на пів години. Так що навіть невелика DDoS атака з 20 зомбі-серверами може надовго підвисити сервер.

Враховуючи поширенність Abuse of Functionality уразливостей на сайтах, що дозволяють атакувати інші сайти, та ігнорування адмінами сайтів даної проблеми, вона є актуальною. А враховуючи те, що мережу з таких зомбі-серверів можна створити без зайвого витрачання ресурсів (в тому числі й фінансових), як це має місце в класичних ботнетах (де потрібно створювати трояни та експлоіти, що будуть їх завантажувати на ПК користувачів, а також потрібно поширювати дані експлоіти та пітримувати зомбі-мережу), то даний вид ботнетів є дуже вигідним з фінансової сторони. Тому даний метод атак може стати поширеним в найближчій перспективі.