СМ-Консалт
 

Контроль безопасности Web-ресурсов с помощью IBM Rational AppScan

Статьи Тестирование программного обеспечения

 

 
В настоящее время все больше информации и сервисов помещаются компаниями в Интернет. В тоже время помещенные в Интернет ресурсы все больше подвергаются атакам злоумыщленников. В статье описываются возможности инструмента IBM Rational AppScan для тестирования безопасности Web-сайтов. Также объясняются некоторые методы и возможности взлома, которые применяются при попытках проникновения на Web-сайты компаний для получения конфиденциальной информации.
 Теги: Интернет, Web, сайт, портал, AppScan, firewall, база данных, XSS, атака, скрипт, инъекция, SQL, теория, сервер приложений, взлом, хакер, процесс, код, rational, clearquest, тестирование, безопасность, alert, уязвимость, отчет, дефект, хакер, IBM
 Аудитория: менеджеры проектов, разработчики, тестировщики, руководители, аналитики
 Автор: Шамрай Александр

 

Оглавление

1. Введение

2. Зачем и кому нужно взламывать?

2.1. Спортивный интерес

2.2. Взлом ради получения конфиденциальной информации

2.3. Месть

3. Теория взлома

3.1. Человеческий фактор

3.2. Межсайтовый скриптинг

3.3. SQL-инъекции

4. Использование AppScan

5. Заключение

 

 

1. Введение

Web-сайт - это лицо любой современной большой или малой по размерам компании, которое видят бесчисленное количество пользователей всемирной паутины. В наш век высоких технологий значение так называемых Web-страниц растет с каждым днем. Через Web-ресурсы компании дают рекламу, ищут потенциальных клиентов, знакомят со своими возможностями и услугами, оказывают сервис, проводят продажи и многое другое. Web-технологии все прочнее и прочнее устанавливаются в бизнесе и в нашем быту. Трудно уже представить себе рабочее место в офисе или компьютер дома, который был бы не подключен к Интернет, если даже простой мобильный телефон уже вполне справляется с задачами Web-браузера настольного компьютера. Появляются все новые и новые технологии реализации необходимых задач, но и с тем же появляются новые возможности для реализации своих задач взломщикам Web-ресурсов. Не очень приятно будет наверно обнаружить какую-нибудь неприличную страницу вместо основной страницы Вашей компании или вдруг получить информацию от заказчиков, что сервис, которые вы предоставляете, недоступен в данное время. Смешки в адрес Вашей компании - это самое малое последствие, которое может быть. А вот потеря большого количества клиентов из-за отказа работы вашего сервиса или кража Вашей конфиденциальной информации, которая может быть ценна Вашим конкурентам, - это уже серьезный удар по авторитету организации и в последствии это может повлечь и финансовые потери.

2. Зачем и кому нужно взламывать?

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

  1. Спортивный интерес ;
  2. Взлом ради получения конфиденциальной информации ;
  3. Месть .

2.1. Спортивный интерес

Обычно под эту группу попадают начинающие взломщики, у которых пока есть только интерес попробовать что-либо новенькое, похвастаться перед друзьями своими достижениями. Зачастую эти опыты могут заканчиваться на дефейсе вашего сайта. Дефейс - это подмена на сайте его основной страницы, основная страница в этом случае может быть подменена на страницу со словом «HACKED» или словами «Вася любит Федю», а могут быть вообще размещены фотографии аморального характера. И конечно нет ничего приятного в том, что Ваши клиенты, партнеры или просто случайные посетители будут лицезреть данную надпись или изображение на Вашей главной странице.

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

2.2. Взлом ради получения конфиденциальной информации

Данный вид взлома обычно выполняется на заказ или для продажи или дальнейшего использования полученной информации. Целью злоумышленников могут оказаться базы данных, которые размещены у сайте, программы и документы, находящие в вашей локальной сети и которые могут быть доступны через уязвимости Web-портала. В этом случае сайт может подвергаться различным видам атак, начиная от использования эксплоитов и заканчивая популярным в последнее время использованием методов SQL-инъекций. Но использование высоких технологий и интересных идей это не единственное оружие взломщика при попытке получить желаемое с Ваших ресурсов. Не стоит забывать и еще одной уязвимости - человеческий фактор. Пароли программистов, которые могут быть оставлены в коде страницы в виде комментария, тривиальные пароли к административным ресурсам являются легкой добычей для злоумышленника, с которой попасть к данным сайта и возможно локальной сети уже не составит. В данном случае Web-ресурс будет похож на большую крепость со стальной дверью и ключиком под ковриком.

2.3. Месть

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

 

3. Теория взлома

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

 

 

 

Рисунок 1. Типичная архитектура Web-порталов

 

 

 На рисунке изображена типичная архитектура, которая используется при организации работы внешних Web-порталов. При ее построении выделяются основные три составляющие:

  • Брандмауэр (firewall) - программно-аппаратный комплекс, который предназначен для фильтрации входящего и исходящего трафика. Такой сетевой фильтр используется для организации первого уровня защиты используемых внешних сервисов (ограничение доступа на служебные порты, ограничение на входящие соединения и т.д.);
  • Серверы приложений - серверы, на которых находятся программы обеспечивающие взаимодействие с пользователем. В нашем случае в качестве серверов приложений используются Web-серверы, которые могут быть на основе Apache, IIS и т.д. На серверах размещают Web-порталы, которые содержат набор электронных страниц, Web-сервисы и через которые пользователь получает интересующую его информацию о компании, доступ к сервисам компании и т.д.;
  • Базы данных - хранилище информации, которая используется Web-порталами. Это может быть база данных пользователей, которая используется авторизации пользователей сайта, каталоги товаров, информация о маршрутах и оплатах и многое другое. Также они могут содержать документы, программы, служебные файлы или информацию, откуда эти документы и программы могут быть доступны.

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

Рассмотрим некоторые методы и возможности хакеров для взлома:

  1. Человеческий фактор ;
  2. Межсайтовый скриптинг ;
  3. SQL инъекции .

 

3.1. Человеческий фактор

Тут можно выделить в основном ошибки, халатность и недосмотры программистов или администраторов создаваемых и обслуживаемых информационных систем. Хотя это обычно пресекается в корне во многих компаниях, но все равно существует вероятность, что на странице авторизации может пройти имя пользователя "admin" и пароль "admin", и любая другая простая комбинация одинаковых с наименованием учетной записей паролей. Также могут встречаться варианты использования абсолютно пустого пароля или простого цифрового или буквенного пароля в виде "111","123", "qwerty". Почему возникают такие ситуации? Ну, как одной из причин может быть простая человеческая халатность или невнимательность - администратор не удосужился установить нормальный пароль или, может, установил такой пароль при инсталляции системы и забыл поменять его при вводе информационной системы в эксплуатацию. Второй причиной такой ситуации может быть результат использования систем заказных или скачанных из Интернета, в которых используются стандартные технические учетные записи, про которые также в свою очередь все кроме взломщиков потом забывают.

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

 

 


 

Рисунок 2. Закомментированный пароль в исходном коде страницы

 

3.2. Межсайтовый скриптинг

Межсайтовый скриптинг или XSS-атака - это атака с использованием скриптов JavaScript для выполнения определенных вредоносных действий, например, кражу куки или информации о сессии. Возможность для проведения такой атаки возникает в том случае, если разработчики Web-приложений не придерживались правил безопасности при разработке сайта. Проблема заключается в том, что не была включена фильтрация на обработку специальных символов, таких как знаки (<, >), кавычки (", ‘), слеши (/, \) и т.д.
Может ли быть сайт подвержен подобной атаке, можно проверить следующим образом:

  1. Перейти на страницу с элементами для текстового ввода, например, страница поиска;
  2. Ввести искомую строку как <script>alert(1)</script>
  3. Если появится окно, которое изображено ниже, то есть опасность, что сайт может быть подвержен XSS-атаке.

 

 

Рисунок 3. Результат выполнения скрипта со страницы поиска

 

 

Если вводимую информацию в предыдущем примере изменить на <script>alert(document.cookie)</script>, то можно получить информацию, которая хранится в куках сессии.

 

 


 

Рисунок 4. Информация о куках 

 

Далее уже все зависит от умения взломщика заставить сработать эту уязвимость на рабочем месте пользователя сайта и передачу этой информации себе. Это может быть специально сформированная ссылка, которая пересылается по почте, внедрение кода в уязвимую страницу и т.д. Получив же, например, информацию о сессии пользователя, злоумышленник может спокойно быть на атакуемом сайте под чужой учетной записью.

3.3. SQL-инъекции

SQL-инъекция - это один из самых распространенных способов взлома сайтов, который используют базы данных. Данный вид атаки основан на внедрении в запрос произвольного SQL-кода. При помощи SQL-инъекции атакующий может выполнить любой запрос к базе данных, который может прочитать содержимое таблиц, изменять, удалять или добавлять данные. Но это единственный вред, который может быть причинен при выполнении внедренного SQL-кода, т.к. эти команды могут быть использованы для чтения и записи локальных файлов и выполнения произвольных команд на сервере, если он это позволяет. SQL-инъекция может быть проведена, только в том случае, если разработчики не позаботились о безопасной обработке выполняемых SQL-запросов.

Рассмотрим на небольшом примере использование атаки. Как один из методов определения может ли быть сайт подвержен атаке с помощью SQL-инъекции - это попробовать сформировать адресную строку, которая заведомо должна вернуть ошибку обработки SQL-запроса.

Например, если сформировать строку:

http://site/test.php?id=1'

 

,то сайт, если он имеет уязвимость, должен вернуть сообщение об ошибке подобное следующему:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1

 

Это сообщение будет означать, что на обработку SQL-запросов не установлен фильтр и есть возможность проводить инъекцию. А далее уже помогают знания по формированию SQL-запросов. Например, если попробовать сформировать подобную адресную строку:

http://site/test.php?id=-1+union+select+null,mysql.user.password,null+from+mysql.user+limit+0,1/*

 

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

http://site/test.php?id=-1+union+select+null,LOAD_FILE('/etc/passwd'),null/*

 

4. Использование AppScan

IBM Rational AppScan - это инструмент, который предназначен для автоматизированного или ручного тестирования безопасности Web-сайтов и Web-сервисов.

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

При проведении тестирования приложение просматривает сначала структуру всего Web-портала и выстраивает набор тестов, которые могут быть применены. По ходу процесса тестирования AppScan сразу организует все найденные уязвимости по определенным классификаторам (межсайтовый скриптинг, SQL-инъекции и т.д.) и по критичности. На каждую уязвимость сохраняется запрос, который был применен к сайту при выполнении теста, и сохраняется ответ, который был получен от сайта на запрос. Это очень полезное свойство при исправлении найденных проблем.

 

 


 

Рисунок 5. Просмотр запросов и ответов при тестировании 

 

 

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

 

 

 

 

Рисунок 6. Главное окно приложения и информационная панель 

 

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

 

 


 

Рисунок 7. Мастер отчетов 

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

 

 


 

Рисунок 8. Документирования дефекта для IBM Rational ClearQuest 

 

5. Заключение

Когда есть конфиденциальная информация, практически всегда есть люди, которые в ней заинтересованы. И как один из методов доступа к этой информации - это взлом Интернет-ресурсов компании. Но и как было сказано выше, взлом сайтов ради наживы совсем не единственная причина, по которой вдруг может перестать функционировать Интернет-сервис компании. Поэтому безопасность этих ресурсов в последнее время приобретает все большее и большее значение, на что и обратила внимание компания IBM. Продукт IBM Rational AppScan - это инструмент, который обеспечит тестирование безопасности Web-сайтов и поможет поместить во всемирную паутину ресурс, который уже будет не по зубам злоумышленникам. Большой набор стандартных тестов и возможность расширения возможностей позволяет всегда идти данному продукту в ногу с технологиями и продолжать долгое время обеспечивать качественное тестирование безопасности разрабатываемых Web-продуктов.

 

 

 

07.08.2008

Комментарии

  • Fungal vulgaris; bacillary paradigm inplantation.
    Автор:   ·  18.03.2017 13:27:33
    http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor doxycycline100mgbuy.com.ankor http://cialistadalafillowest-price.net/
  • Conservative needn't episodes, lofepramine halofantrine.
    Автор:   ·  18.03.2017 12:59:53
    http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor doxycycline100mgbuy.com.ankor http://cialistadalafillowest-price.net/
  • Biopsy ulcerate balance pain: flank.
    Автор:   ·  18.03.2017 12:34:35
    http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor doxycycline100mgbuy.com.ankor http://cialistadalafillowest-price.net/
  • Remember reflux; vitriol walks steroidresistant.
    Автор:   ·  17.03.2017 06:25:50
    http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor doxycycline100mgbuy.com.ankor http://cialistadalafillowest-price.net/
  • Later resources decompensated ability poets, vacated over-distraction.
    Автор:   ·  17.03.2017 06:05:28
    http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor doxycycline100mgbuy.com.ankor http://cialistadalafillowest-price.net/
  • Rising worn tachypnoeic, deficiencies, failed dwarfism.
    Автор:   ·  17.03.2017 00:54:41
    http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor doxycycline100mgbuy.com.ankor http://cialistadalafillowest-price.net/
  • Spontaneous adolescent describe; requisite baby fluoroscopy cataracts.
    Автор:   ·  17.03.2017 00:34:19
    http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor doxycycline100mgbuy.com.ankor http://cialistadalafillowest-price.net/
  • Avoid one-sided extraction, diuretics; annually, rates.
    Автор:   ·  17.03.2017 00:29:41
    http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor doxycycline100mgbuy.com.ankor http://cialistadalafillowest-price.net/
  • Surely pupils depressed, predisposes threadworm, indirect.
    Автор:   ·  17.03.2017 00:08:24
    http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor doxycycline100mgbuy.com.ankor http://cialistadalafillowest-price.net/
  • A subsystems, conniventes, vasodilator, shone, transformed sclerotherapy.
    Автор:   ·  17.03.2017 00:02:54
    http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor doxycycline100mgbuy.com.ankor http://cialistadalafillowest-price.net/
  • A2 analgesia latter turns nightmare.
    Автор:   ·  16.03.2017 23:42:16
    http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor doxycycline100mgbuy.com.ankor http://cialistadalafillowest-price.net/
  • Curative cardiac, conventions, collateral can: fetocide pox.
    Автор:   ·  16.03.2017 23:32:41
    http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor doxycycline100mgbuy.com.ankor http://cialistadalafillowest-price.net/
  • Toddlers rotate bathe peritonitis: maturity.
    Автор:   ·  16.03.2017 23:11:03
    http://without-prescription-buyretin-a.net/ - without-prescription-buyretin-a.net.ankor doxycycline100mgbuy.com.ankor http://cialistadalafillowest-price.net/
  • HZZSKpNqxyCgyO
    Автор: In awe of that anserw! Really cool!  ·  01.12.2015 16:30:33
    In awe of that anserw! Really cool!
  • 8313
    Автор: cheap ugg boots  ·  24.11.2014 08:12:42
    the experts here at created design their sandals from most possible handle additionally the very best fit as their intended purpose. cheap ugg boots http://www.naeemzafar.com/home/feed/?alt_id=2f889

Добавить комментарий (анонимные комментарии не публикуются!!!)

ФИО: 
E-mail: 
Тема: 
Комментарий: 
Оценка:   
 
 
 
 
 
Код подтверждения:
   

Новости СМ-Консалт

Вышла версия BIPULSE 6.2

Мастер-класс для тренеров и руководителей "Работа в аудитории". 1 ступень уже в марте

Обновлено расписание тренингов до марта 2017 года

Новые статьи в библиотеке

Мифы про ГОСТ 34

Примеры отраслевых решений на основе BIPULSE

Практика реализации модуля интеграции для Rational Software Architect, позволяющего преобразовывать низкоуровневое представление процесса из IBM Rational ClearQuest в UML

Что удивляет в русских менеджерах иностранцев

Разработка ПО с использованием лучших мировых практик и инструментов на Иркутском авиационном заводе

Презентация доклада для IT Global Meetup Санкт-Петербург: "Почему Agile так популярен? Взгляд циника и психолога"

Заказчики и истории успеха

Наши тренинги, семинары, курсы

Дружите с нами на FaceBook

Проверить настройки
Компания
Сделано в СМ-Консалт
Услуги 
Компетенция
  • CMC-TotalTest (скоро)
    уникальная разработка автоматизации функционального тестирования. Альтернатива HP UFT, IBM RFT и Microsoft!
  • CMC-Bisquiter
    автоматизированное тестирование АБС "Бисквит"
  • CMC-Formater
    тестирование печатных и экранных форм
  • CMC-TerminalTest
    тестирование терминальных приложений
  • ProjectTracker
    интеграция ALM и MS Project
  • GanttChart
    модуль управления проектами для IBM Rational ClearQuest и TeamConcert
    Все разработки СМ-Консалт >
  • ИТ-консалтинг
  • Автоматизированное тестирование
  • Ручное тестирование
  • Аутсорсинг тестирования
  • Оптимизация бизнес-процессов
  • Внедрение методологии и инструментов ALM
  • Обучение и коучинг
  • Разработка ПО
  • Интеграция
ООО СМ-Консалт (СМК), 2004-2017.
Карта сайта