Спасите сайт! 10 советов по безопасности веб-приложений


Оглавление (нажмите, чтобы открыть):

7 советов по повышению безопасности приложений

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

Огромный рост числа киберпреступлений заставляет компании тщательнее подходить к вопросам безопасности и разрабатывать новые техники, повышающие защищенность приложений. Подобное происходит потому, что традиционные методы, например, ручное тестирование или WAF’ы (Web Application Firewall; межсетевой экран для веб-приложений) часто не спасают от становящихся все более изощренными хакерских атак.

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

1. Спланируйте жизненный цикл разработки программного обеспечения

Наиболее эффективный способ повысить безопасность разработок – внедрить так называемый жизненный цикл разработки программного обеспечения (Software Development Life Cycle; SDLC). Сей процесс разделяет цикл разработки на отдельные стадии, в каждой из которых предусмотрен аудит безопасности. Автоматизация тестирования, в конечном счете, позволит обнаружить уязвимости на более ранних стадиях.

Современный жизненный цикл разработки программного обеспечения включает в себя шесть стадий:

  • Анализподразумевает создание и внедрение общей стратегии процесса разработки, включая системный анализ, добавление новых функций и доработки по мере развития самого процесса. Сведения, полученные по результатам аудита безопасности, также принимаются во внимание, после чего, при необходимости, пересматриваются ориентиры.
  • Проектированиеподразумевает подготовку к проектированию программного обеспечения на основе требований, полученных по результатам предыдущей стадии.
  • Реализацияподразумевает написание кода приложения. Эта стадия наиболее длинная и сложная во всем цикле.
  • Тестированиеподразумевает выполнение большинства процедур, отвечающих за контроль качества. Сюда же входит тестирование безопасности программного обеспечения. Настоятельно рекомендуется внедрять меры безопасности во все стадии жизненного цикла. Только тогда станет возможным создать наиболее защищенное приложение.
  • Внедрениеподразумевает использование готового программного обеспечения в боевых условиях.
  • Поддержкаподразумевает устранение уязвимостей, проблем, возникающих во время эксплуатации приложения, а также настройку и добавление новых функций на основе пожеланий клиентов. В идеале весь этот процесс проходит с использованием специальных методологий (Agile/DevOps).

Рисунок 1: Наглядная схема процесса разработки безопасных приложений

2. Автоматизация процедур, связанных с безопасностью

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

В приложении Static Code Analysis (SCA) реализованы специальные сканеры кода, которые могут быть интегрированы во все стадии жизненного цикла. Кроме того, присутствуют легковесные плагины, которые можно легко внедрить в вашу любимую среду разработки.

Другие преимущества, которые дает внедрение автоматического тестирования кода:

  • Присутствует большая база уязвимых участков кода.
  • Нет необходимости в сканировании неизмененного кода (идеально для CICD, Agile и DevOps).
  • Совместимость с большим количеством языков программирования и фреймворков.
  • Детектирование ошибок в коде (например, переполнение буфера), мертвого кода и других брешей.
  • Автоматическая генерация отчетов в формате PDF/XML, которые можно использовать для последующего и более детального анализа.

3. Останавливайте сборку, если обнаружены угрозы среднего и высокого уровней

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

4. Не забывайте о входных данных со стороны пользователей. Используйте WAF

В большинстве современных веб- и мобильных приложениях происходит взаимодействие с пользователями, которые обычно вводят какие-либо сведения в своих браузерах. Это дает хакерам большие возможности для обхода защиты приложений. Наиболее популярные методы атак, используемых злоумышленниками: SQL- и LDAP- инъекции и межсайтовы скриптинг (XSS).

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

WAF – эффективный способ для обнаружения вредоносных пользовательских данных и мониторинга входящего и исходящего трафика (по заданным критериям) на серверах и в базах данных.

5. Убедитесь в том, что приложение совместимо с современными стандартами безопасности

Существует два стандарта безопасности, признанных всеми компаниями вне зависимости от сферы деятельности, с которыми, по возможности, должно быть совместимо программное обеспечение. OWASP Top-10 и SANS 25 – исчерпывающие списки уязвимостей, создаваемые некоммерческими организациями. Свежая информация добавляется ведущими экспертами по безопасности со всего мира.

Другие стандарты, имеющие отношение к определенной индустрии:

  • PCI DSS – для компаний, которые обрабатывают, хранят и передают информацию о кредитных картах.
  • HIPPA – для поставщиков медицинских услуг.
  • MISRA – набор стандартов для языка С.
  • BSIMM – фреймворк, помогающий оценить уровень безопасности приложения.

6. Перед использованием тщательно анализируйте сторонние компоненты с открытым исходным кодом

Компоненты с открытым исходным кодом – неотъемлемая часть практически каждого приложения. К сожалению, многие разработчики бездумно внедряют подобные компоненты без тестирования и исследования их влияния на безопасность приложения в целом. Правильное использование сторонних компонентов с открытым исходным кодом критически важно, если вы хотите, чтобы уровень безопасности вашего приложения был на должном уровне.

7. Перед финальным релизом проведите пентесты (еще лучше, если вы будете проводить пентесты после каждого обновления)

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

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

Традиционные средства безопасности наподобие WAF’ов позволяют лишь частично защититься от современных угроз. Рекомендации, указанные выше, помогут вам серьезно повысить уровень безопасности кода и затруднить жизнь злоумышленникам.

Другими словами, разработка качественного кода становится первостепенной задачей. По возможности используйте различные сканеры и автоматические методы тестирования на всех стадиях жизненного цикла разработки программного обеспечения. Тем самым вы сократите вероятность появления проблем, которые могут возникнуть во время выпуска патчей, предназначенных для устранения уязвимостей. Безопасность приложения начинается с исходного кода.

Подписывайтесь на каналы «SecurityLab» в Telegram и Яндекс.Дзен, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.

10 советов по безопасности в Интернете от экспертов AV-Test

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

Лаборатория AV-Test предоставляет информацию о том, какие антивирусные продукты лучше всего защищают компьютеры, смартфоны и планшеты от угроз в Интернете.

1. Используйте новейшую версию антивирусной программы

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

2. Своевременно устанавливайте обновления

Онлайн атаки обычно нацелены на бреши в безопасности операционной системы, браузеров и популярных приложений. С помощью обновлений разработчики постоянно устраняют уязвимости в своих продуктах. Именно поэтому важно регулярно обновлять программы, в том числе и антивирусы. Защитные продукты постоянно получают информацию об обнаружениях вредоносных программ в Интернете. Обновления для Android, MacOS и Windows должны выполняться регулярно и своевременно.


3. Используйте безопасные пароли

При выборе паролей, пользователи должны проявить свои творческие способности и должны создавать различные пароли для каждого аккаунта! Надежные пароль должен состоять минимум из 8 символов. Наиболее безопасная комбинация включает заглавные и строчные буквы, цифры и специальные символы. Легко запомнить пароли, состоящие из строки песни с добавлением года выхода композиции. Бесплатные менеджеры паролей также очень полезны при управлении большой коллекцией паролей. Естественно, никто не должен знать ваши пароли.

4. Зашифрованные подключения для безопасной передачи данных

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

5. Соблюдайте меры предосторожности при использовании общественных сетей Wi-Fi

Общественные сети Wi-Fi являются очень практичными, когда требуется зайти на сайт на короткое время или определить текущее местоположение с помощью смартфона. Тем не менее, они не подходят для интернет-банкинга или передачи конфиденциальной информации. Пользователь не может знать, кто администрирует сеть и какие меры защиты предпринимаются. Именно поэтому рекомендуется совершать финансовые транзакции в защищенной домашней сети и по возможности избегать доступа к важным аккаунтам, если устройство подключено к публичной точке доступа. Если это сделать необходимо, то используйте виртуальные частные сети (VPN). В этом случае все передаваемые данные будут надежно зашифрованы.

6. Осторожно обращайтесь с личными данными

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

7. Остерегайтесь бесплатного

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

8. Используйте надежные источники

Файлы, программы и приложения должны открываться или устанавливаться только если они загружены из достоверных источников. Новейшие версии браузеров и антивирусов предупреждают пользователя о посещении потенциально опасных ресурсов. Приложения лучше устанавливать из официальных магазинов приложений Google Play, App Store или из Магазина приложений Windows.

9. Регулярно создавайте резервные копии

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

10. Правильно удаляйте данные

Прежде чем выбросить компьютер, телефон, жесткий диск или флешку, нужно надлежащим образом удалить все данные. Удаление данных с помощью собственных средств Windows, iOS и Android не является эффективной мерой, потому что в этом случае можно восстановить информацию. Безопасно удалить данные помогут специализированные программы, которые выполняют многократную перезапись случайным набором данных, что делает безуспешными попытки восстановления. Многие файловые шредеры распространяются бесплатно.

ОБЗОР УГРОЗ БЕЗОПАСНОСТИ WEB-ПРИЛОЖЕНИЙ

магистрант кафедры информационной безопасности, систем и технологий, Институт сервиса, туризма и дизайна (филиал) СКФУ в г. Пятигорске,

магистрант кафедры информационной безопасности, систем и технологий, Институт сервиса, туризма и дизайна (филиал) СКФУ в г. Пятигорске,

магистрант кафедры информационной безопасности, систем и технологий, Институт сервиса, туризма и дизайна (филиал) СКФУ в г. Пятигорске,

WEB-APPLICATION SECURITY THREATS

Nicolay Eliseev

the Institute of Service, Tourism and Design (Branch of North-Caucasus Federal University) in Pyatigorsk Undergraduate of the Department of Information Security, Systems and Technologies

Sergey Fyodorov

the Institute of Service, Tourism and Design (Branch of North-Caucasus Federal University) in Pyatigorsk Undergraduate of the Department of Information Security, Systems and Technologies

Oleg Antonov

the Institute of Service, Tourism and Design (Branch of North-Caucasus Federal University) in Pyatigorsk Undergraduate of the Department of Information Security, Systems and Technologies

АННОТАЦИЯ

WEB-приложения становятся всё более популярны во всех сферах деятельности человека и начинают использовать все больше приватных данных, что неизбежно приводит к ряду проблем в области безопасности. Для решения данных проблем был сформирован международный проект по обеспечению безопасности WEB-приложений (OWASP).

ABSTRACT

WEB-applications are getting more and more popular in every field of human activity, thus grows the use of private data, which inevitably leads to series of security problems. On that matter the international initiative called OWASP was formed to ensure security for WEB-applications.

Ключевые слова: web; web-приложение; угрозы информационной безопасности, OWASP.

Keywords: web; web-application; information security threats, OWASP.

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

WEB-приложение — это клиент-серверное приложение, где в качестве клиента выступает браузер, который отображает пользовательский интерфейс, формирует запросы к серверу и обрабатывает ответы от него. А серверная часть представляет собой WEB-сервер, обрабатывающий запросы клиентов. Взаимодействие между клиентом и сервером, как правило, осуществляется посредством протокола HTTP[1]. Архитектура WEB-приложений имеет три уровня[2], которые показаны на рисунке 1.

Рисунок 1. Архитектура WEB-приложения

Основными особенностями, повлиявшими на распространение WEB-приложения являются:

  1. Доступность — данный вид приложений не привязан к определенному терминалу или локальной сети, доступ может осуществляться из любой точки Земного шара, где присутствует соединение с Интернет.
  2. Кроссплатформенность — клиенту достаточно иметь браузер, соответствующий стандартам, а операционная система и тип устройства не имеют никакого значения.
  3. Не требует установки и настройки отдельного приложения на клиентском устройстве.
  4. Автоматическое обновление — клиент всегда работает с самой актуальной версией приложения, т. к. все обновления происходят на стороне сервера.

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

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

  • хранение и обработка персональные данных сотрудников и клиентов;
  • сведения о финансовых операциях компании;
  • сведения, составляющие коммерческую тайну;
  • сведения о взаимодействии, а также взаимодействие с клиентами компании;
  • взаимодействие между сотрудниками и отделами;
  • другие сведения и процессы, зависящие от рода деятельности компании[2].


В связи с этим среди разработчиков появились рекомендации, к обеспечению безопасности WEB-приложений, которые вылились в проект под названием: Open Web Application Security Project (OWASP).

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

OWASP на протяжении всего своего существования занимается изучением наиболее опасных уязвимостей и ежегодно публикует отчет. Рассмотрим наиболее опасные угрозы безопасности WEB-приложений, согласно исследованиям OWASP Top 10 — 2020 [3]:

  1. Инъекции (Injection) — внедрение в запросы к базе данных кода, дополняющего данный запрос и дающего злоумышленнику неавторизованный доступ к базе данных.
  2. Уязвимости аутентификации (Broken Authentification) – распространенная уязвимость, связанная с недостаточно проработанной системой валидации пользователей в приложении, приводит к получению неавторизованного доступа.
  3. Незащищенность важных данных (Sensitive Data Exposure) — многие приложения не используют механизмов для защиты передаваемых данных, таких как, например, HTTPS.
  4. Внедрение внешних сущностей в XML (XML External Entities) — вид инъекции, основанный на внедрении в XML-запрос к серверу атрибутов и сущностей, позволяющих получить неавторизованный доступ к данным.
  5. Небезопасный контроль доступа (Broken Access Control) — уязвимость в методах авторизации, позволяющие злоумышленнику получить повышенные привилегии.
  6. Небезопасная конфигурация (Security Misconfiguration) — WEB-приложение — это сложная система, состоящая из многих компонентов, таких как WEB-сервер, СУБД и др. Неверная конфигурация одного из компонентов может привести к серьезным проблемам с безопасностью всего приложений.
  7. XSS(Cross-Site Scripting) – внедрение (инъекция) вредоносного кода в HTTP-ответ, получаемый клиентом и выполняющийся на стороне клиента.
  8. Небезопасная десериализация (Insecure Deserialization) — десериализация преобразует последовательность бит в структурированные данные, зачастую на данном этапе не уделяется достаточно внимания безопасности, например, отсутствует валидация типов данных, что приводит к их подмене.
  9. Использование компонентов с известными уязвимостями (Using Components with Known Vulnerabilities) — зачастую при разработки WEB-приложений используются библиотеки, фреймворки и компоненты сторонних разработчиков, которые могут содержать различные недостатки (уязвимости), в связи с этим важно использовать самые актуальные версии, в которых исправляются известные уязвимости.
  10. Недостаточное журналирование и мониторинг (Insufficient Logging&Monitoring) — для своевременного обнаружения несанкционированного доступа, утечки информации и т. д., необходимо использовать средства автоматизированного мониторинга трафика, а также журналирования, которые помогут понять сущность атаки и разработать в кратчайшие сроки устранить уязвимости, а также вернуть работоспособность и состояние WEB-приложений.

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

В результате можно сформировать рекомендации для повышения безопасности WEB-приложений:

  • необходимо ознакомиться и следить за обновлениями документов OWASP;
  • использовать методологии тестирования WEB-приложений, направленные на поиск уязвимостей (например, OWASP Testing Project);
  • регулярно обновлять программное обеспечение WEB-сервера;
  • следить за корректной настройкой сетевых устройств, служб и программного обеспечения;
  • следить за обновлениями используемых в приложении фреймворков и библиотек, и своевременно устранять найденные в них уязвимости;
  • использование протоколов с шифрованием (HTTPS);
  • повсеместное использование средств обнаружения атак, мониторинга активности, журналирования и системы транзакций.

Данные рекомендации позволят значительно повысить уровень безопасности WEB-приложений, что приведет к снижению рисков компаний при использовании WEB-приложений.

Мастер Йода рекомендует:  Самоизменяющаяся программа на C под x86_64

Краткое введение в веб-безопасность

Дата публикации: 2020-09-14

От автора: азы CORS, CSP, HSTS и всех акронимов веб-безопасности для веб-разработчиков!

Существует много причин узнать про веб безопасность больше:

Вы обеспокоенный пользователь, который боится кражи своих персональных данных

Вы заинтересованный веб-разработчик, который хочет сделать свои веб-приложения более безопасными

Вы — веб-разработчик, ищущий работу, и хотите быть готовым к тому, что ваши интервьюеры зададут вам вопросы о безопасности в Интернете.

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

Ну, в этом посте мы объясним некоторые общие аббревиатуры веб-безопасности таким образом, который легко понять, но при этом точным.

Прежде чем мы это сделаем, давайте убедимся, что мы понимаем пару основных концепций безопасности.

Две основные концепции безопасности

Никто никогда не будет на 100% в безопасности.

Нет такого понятия, как 100-процентая защита от взлома. Если кто-нибудь когда-нибудь скажет вам это, они ошибаются.

Одного слоя защиты недостаточно.

Вы не можете просто сказать …

О, так как я реализовал CSP, я в безопасности. Я могу вычеркнуть межсайтовый скриптинг из списка уязвимостей своего сайта, потому что этого не может произойти сейчас.

Это вряд ли может быть, но легко поддаться искушению думать таким образом. Я думаю, что одна из причин, по которой программисты так думают заключается в том, что в кодировании все черно-белое, 0 или 1, истина или ложь. С безопасностью не все так просто.

Мы начнем с того, с чем все сталкиваются довольно рано в процессе веб-разработки.

Совместное использование ресурсов между разными источниками (Cross-Origin Resource Sharing — CORS)

Вы когда-нибудь получали ошибку, которая выглядела примерно так?

No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘null’ is therefore not allowed access.

Вы, конечно, в этом не одиноки. И тогда вы заходите в Google и ищете ответы, и кто-то говорит вам, что нужно установить это расширение, которое решит все ваши проблемы! Отлично, правда?

CORS предназначен для того, чтобы защитить вас, а не навредить вам!

Чтобы объяснить, как CORS помогает вам, давайте сначала поговорим о файлах cookie, в частности об аутентификационных файлах cookie. Аутентификационные файлы cookie используются, чтобы сообщить серверу, что вы вошли в систему, и они автоматически отправляются с любым запросом, который вы выполняете к этому серверу.

Допустим, вы вошли в систему Facebook, и они используют для аутентификации файлы cookie. Вы нажимаете на bit.ly/r43nugi, который перенаправляет вас на superevilwebsite.rocks. Скрипт в superevilwebsite.rocks выполняет клиентский запрос к facebook.com, который отправляет ваш файл cookie для аутентификации!

В мире без CORS они могут вносить изменения в ваш аккаунт, даже без вашего ведома. Затем они опубликуют bit.ly/r43nugi в вашей ленте, и все ваши друзья кликнут по этой ссылке, а затем bit.ly/r43nugi будет отправлено в ленты всех ваших друзей, и этот порочный круг расширится, пока весь мир не будет охвачен superevilwebsite.rocks.

Однако в мире CORS Facebook разрешает для редактирования данных на своем сервере только запросы с источником facebook.com. Другими словами, они ограничивают совместное использование ресурсов с помощью разных источников. Тогда вы можете спросить …

Ну может ли superevilwebsite.rocks просто изменить исходный заголовок на их запрос, чтобы он выглядело так, как будто он идет с facebook.com?

Они могут попробовать, но это не сработает, потому что браузер просто проигнорирует его и использует реальный источник.


Хорошо, но что, если superevilwebsite.rocks сделал запрос на стороне сервера?

В этом случае они могут обойти CORS, но они ничего не выиграют от этого, потому что не смогут отправить ваш cookie аутентификации. Скрипт должен выполняться на стороне клиента, чтобы получить доступ к вашим cookie на стороне клиента.

Политика безопасности контента (CSP)

Чтобы понять, что такое CSP, нам сначала нужно поговорить об одной из наиболее распространенных уязвимостей в Интернете: XSS, которая означает межсайтовый скриптинг (вау — еще одна аббревиатура).

XSS — это когда какой-то злой человек вводит JavaScript в ваш клиентский код. Вы можете подумать…

Что они собираются сделать? Изменить цвет с красного на синий?

Предположим, что кто-то успешно ввел JavaScript в клиентский код веб-сайта, который вы посещаете. Что они могут сделать, что навредит вам?

Они могут создать HTTP-запросы на другой сайт, притворяясь вами.

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

Они могут добавить тег скрипта со встроенным JavaScript.

Они могут добавить тег скрипта, который откуда-то извлекает удаленный файл JavaScript.

Они могут добавить iframe, который перекрывает страницу и выглядит как часть веб-сайта, и в котором вам предлагается ввести пароль.

Возможности безграничны. CSP пытается предотвратить это, ограничивая:

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

что можно открыть в iframe

какие таблицы стилей можно загрузить

к чему могут быть выполнены запросы и т. д.

Итак, как это работает?

Когда вы нажимаете на ссылку или набираете URL-адрес веб-сайта в адресной строке браузера, ваш браузер выполняет GET-запрос. Он в конечном итоге пробивается к серверу, который обслуживает HTML вместе с некоторыми HTTP-заголовками. Если вам интересно, какие заголовки вы получаете, откройте вкладку «Сеть» в консоли и посетите любые веб-сайты.

Вы можете увидеть заголовок ответа, который выглядит так:

Как и зачем защищать веб приложения?

В общем и целом, как вы уже поняли, защита своих данных в веб-приложениях целиком и полностью ложится на ваши плечи. “Спасение утопающих, дело рук самих утопающих”, — помните об этом и не стройте иллюзий о неприступности своих веб-ресурсов, когда планируете работы по информационной безопасности. Общедоступные веб-приложения интересны хакерам как ресурсы или инструменты заработка. Веб стал очень популярным, в нем появились возможности финансового роста — что естественно привлекло в эту сферу желающих незаконно воспользоваться чужим трудом. Личность владельца не важна, так как процесс взлома автоматизирован и поставлен на поток. Стоимость информации пропорциональна известности и влиятельности компании. Так к примеру, жертвой взлома стали ребята из SafeBrowse — в их популярное расширение для Chrome был запущен вредоносный JavaScript, который заставлял браузеры пользователей майнить криптовалюту Monero.

К счастью, часть атак можно попытаться избежать на этапе планирования и разработки приложения (используются инструменты тестирования, отладки, анализ кода и т.д.), но при размещении веб-приложения в сети интернет — сайт (особенно популярной сферы деятельности или компании) начинает подвергаться атакам практически по всем направлениям:

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

Они обладают различными методами, способами и инструментарием — объединяет их только одна цель — взломать или вывести из строя веб-приложение.

Очень часто многие программисты и знатоки IT-технологий уверяют, и чуть ли не в один голос кричат о том, что уязвимостей скоро не будет — есть модные, стильные, молодежные и крутые *фреймворки (различные инструменты и расширения, которые могут быть применены при создании всевозможных шаблонов веб-сайтов), исходный код проверяют тысячи человек, и вообще всё “на мази”, а хакеры эти проклятые скоро вымрут и ничто не будет нам угрожать.

А как же на практике? А на практике совсем другая картинка вырисовывается.

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

Давайте быстренько пробежимся по основным способам и пунктам защиты ваших веб-приложений от хакеров. Если будете следовать советам ниже, шансы на взломы резко сократятся.

Защитите пользовательские данные с помощью HTTPS

HTTPS — это расширение, которое зашифровывает и защищает ваши данные при передаче в Интернете. Оно гарантирует целостность и конфиденциальность взаимодействия с сервером.

Виктор Карионов — руководитель компании IT-INFINITY

HTTPS — это ваш персональный ключ, на который вы “запираете” свои данные, и в случае их перехвата хакеру придется попотеть, чтобы понять, что это были за данные. И чтобы предотвратить попытки взлома, я настоятельно рекомендую использовать HTTPS абсолютно на всех страницах сайта.

Обновляйте программное обеспечение

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

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

Предотвратите межсайтовый скриптинг

Межсайтовый скриптинг (или XSS) — это один из самых распространенных видов хакерской атаки на прикладном уровне. Целью XSS является:

Получение доступа к защищенным или конфиденциальным данным;

Получение бесплатного доступа к платному контенту;


Слежение за посещением сайтов пользователем;

Изменение настроек браузера;

Публичная клевета в адрес отдельного лица или корпорации;

Любой владелец сайта согласится с тем, что вышеперечисленные последствия могут привести к весьма плачевному результату.

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

Михаил Бартули — управляющий компании IT-INFINITY

“Попытки повысить знание о том, как легко высококвалифицированный хакер может взломать уязвимое приложение, не увенчались успехом. Все еще можно встретить владельцев сайтов с образом мышления: «Будем разбираться с проблемой, когда меня взломают». Они рискуют понести ощутимый финансовый ущерб и потерять доверие клиентов.

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

Проверяйте и шифруйте пароли

Храните пароли в виде хэша. Лучше использовать алгоритмы одностороннего хэширования, например, SHA («Secure Hash Algorithm 1» — алгоритм криптографического хеширования). В этом случае для авторизации пользователей сравниваются хэшированные значения. Если злоумышленник взломает ресурс и получит хэшированные пароли, ущерб будет снижен за счёт того, что хэш имеет необратимое действие и получить из него исходные данные практически невозможно. Но хэши на популярные пароли легко перебираются по словарю, поэтому используйте также «перчинку», уникальную для каждого пароля. Тогда взлом большого количества паролей становится еще медленнее и требует больших вычислительных затрат.

Контролируйте процесс загрузки файлов

Загрузка пользователем файлов на веб-сайт, даже если это просто смена аватара, несёт в себе угрозу информационной безопасности. Загруженный файл, который, на первый взгляд, выглядит безобидно, может содержать скрипт и при выполнении на сервере откроет злоумышленнику доступ к сайту. Чтобы это предотвратить, запретите исполнение загружаемых файлов пользователями.

Следите за сообщениями об ошибках

Будьте осторожны с тем, что отображается в сообщениях об ошибках приложения. Сообщайте пользователю информацию об ошибках в максимально лаконичной форме, которая исключает наличие любой технической информации. Чтобы держать руку на пульсе проекта, установите систему мониторинга ошибок. Например, Sentry, которая автоматически получает ошибки от обработчиков в коде приложения и через форму от пользователей, а также предоставляет панель для управления ими в реальном времени.

Проверяйте входящие данные

Контролируйте данные, полученные с веб-форм, как на стороне клиента, так и на стороне сервера. В браузере проверяются простые ошибки вроде незаполненного обязательного поля или текста, введённого в числовое поле. Эти проверки обходятся, поэтому контроль на стороне сервера обязателен. Отсутствие проверки на стороне сервера приводит к эксплуатации злоумышленником инъекций и других видов атак.

Если вы будете следовать перечисленным выше советам, то это в значительной мере позволит усилить устойчивость вашего приложения к различного рода атакам. Не доверяйте данным, введённым пользователями. Защищайте ваши файлы и базу данных. И да прибудет с Вами сила IT.

Улучшение безопасности сайта

Что такое взлом сайта?

Сайт считается взломанным, если посторонний человек (не важно каким путем) получил доступ к файлам вашего сайта, которые хранятся на сервере.

Зачем взламывают сайты?

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

Способы взлома сайтов и защита от них

Кража паролей от FTP и хостинга

Если на компьютере вебмастера есть вирус (или вебмастер дал свои пароли от FTP\хостинг-аккаунта человеку, у которого на компьютере вирус), то 90%, что эти пароли попадут авторам вируса и со временем сайт будет взломан.

Как избежать?

Следите, чтобы на вашем компьютере не было вирусов, а также старайтесь никому не давать пароли от хостинг-аккаунта и доступа по FTP. А если даете, то убедитесь, что у этого человека нет вирусов на компьютере. Поменяйте пароли на более длинные (сложные) и старайтесь не хранить их на компьютере, и тем более в браузере. Также рекомендуем использовать безопасное SSH-соединение для загрузки файлов сайта на сервер.

Хостинг-провайдер

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

Что делать?

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

Взлом CMS (системы управления сайтом)

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

Что делать?

Следите за тем, чтобы на вашем сайте была актуальная версия CMS, причем скачанная с официального сайта разработчика, а не не откуда-попало. Если CMS разработанная специально под ваш сайт (самописная), то актуальным будет заказать аудит безопасности сайта. Где его заказывать? Это сложный вопрос, т.к. компаний, которые качественном этим занимаются — единицы, и они берут за это немалые деньги. При выборе такой компании обращайте внимание на портфолио, а также спросите у их клиентов, на сколько качественно они работают. Мы же подготовили рекомендации по безопасности для отдельно взятых CMS (Joomla и Worpress).

Взлом сайта через модули и компоненты

Если взять любую из вышеуказанных CMS в голом виде (без сторонних модулей и компонентов), то взломать ее будет трудно даже хакерам высокого уровня. Основную опасность несут расширения (модули, компоненты, плагины), которые создаются сторонними разработчиками. Так например, устанавливая компонент комментариев, который создан на тяп-ляп, вы позволите хакеру вместо комментария или прикрепленной картинки залить на ваш сайт PHP-скрипт, который и позволит совершить взлом.

Что делать?

Не используйте дополнительные расширения от подозрительных разработчиков. Также предельно внимательно относитесь к бесплатным плагинами и компонентам.

Установка прав доступа на файлы

Если установить права 777 на какой-либо файл вашего сайта, то это будет означать, что любой человек, сможет прочитать, записать и выполнить этот файл. И конечно же это ведет к тому, что однажды хакер забросит на ваш сайт PHP-код, который его взломает и даст контроль над сайтом.


Как исправить?

Старайтесь, чтобы на все папки Вашего сайта были выставлены права 755, а на файлы 644. Но в первую очередь посоветуйтесь с разработчиком CMS, хостером или опытным программистом, т.к. изменение прав на файлы, может привести к тому, что сайт будет работать некорректно. Детальнее о правах доступа и их изменении читайте в нашей статье.

SQL-Инъекция

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

Как защититься?

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

XSS (межсайтовый скриптинг)

Суть этой атаки сводится к тому, что хакер подкладывает вредоносный код вместо логина, пароля и прочих данных, которые могут вводить пользователи.

Как избежать?

К сожалению таким атакам часто подвергаются даже очень известные сайты (VK, Facebook и т.д.) и противостоять им достаточно трудно. Наш совет — используйте хорошую CMS или наймите опытного программиста. Если на программиста нет денег, то постарайтесь убрать со своего сайта возможность зарегистрироваться и иметь собственный аккаунт для любых пользователей.

Советы по безопасности сайта

  1. Проверяйте сайт на наличие вирусов. О том, как это сделать читайте здесь.
  2. Делайте бекап сайта как можно чаще (для большинства сайтов — раз в сутки).
  3. Лог-файлы содержат все запросы отправляемые к серверу, и как правило, могут помочь выявить лазейку, через которую сайт был взломан. Если вы в них конечно разбираетесь. Но даже, если не разбираетесь, то сохраняйте их как можно чаще, т.к. хостинг-провайдер хранит логи определенное время (около 2 недель). Если же ваш сайт заразили в более ранний срок, то использовать лог-файлы для обнаружения «дыры» уже не получится.
  4. Если на вашем сайте есть функции оплаты (нужно вводить номера банковских карт и т.д.), то либо используйте безопасный протокол https, либо пользуйтесь внешними сервисами оплаты.

Если у вас остались вопросы, или вы знаете, чем можно дополнить данную статью — пишите это в комментариях. На вопросы постараемся ответить, а статью — дополним.

Защита веб-приложений: мифы и реальность

Веб-сайт, доступный в интернете, автоматически становится мишенью для кибератаки. Атака на сайт — это не только DDoS. Есть ли различие между интернет-безопасностью и веб-безопасностью, почему атаки на веб-сайты стали массовыми, защищает ли фаервол БД и как защищать веб-приложения — ответы на эти вопросы есть в предлагаемой статье.

Введение

Интернет — глобальная система объединенных компьютерных сетей для хранения и передачи данных. Сам дизайн и основы функционирования интернета открыли двери между нашими «защищенными» корпоративными сетями и самой Сетью. Это все та же сеть, построенная на TCP/IP. И руководители ИБ, и специалисты по сетевой безопасности хорошо знают, как сделать интернет безопасным для своей организации.

Всемирная паутина (www), веб — это распределенная система связи «документов», расположенных на сотнях миллионов веб-серверов, подключенных к интернету. Это давно уже не просто веб-страницы и веб-сайты, а полноценные информационно-коммуникационные системы с веб-интерфейсом. В минимальной конфигурации есть веб-сервер (например, Apache или IIS), операционная система веб-сервера (Windows/Linux), сервер БД (MySQL/MS SQL) и сетевая служба обновления веб-сайта (FTP/SFTP). Все эти компоненты должны быть безопасными, поскольку в случае взлома любого из них злоумышленники могут получить доступ к данным. Веб — всего лишь транспорт, платформа, сервис.

Мастер Йода рекомендует:  Настраиваем инфраструктуру как код чек-лист для DevOps-инженеров на примере AWS CloudFormation

Уязвимость (vulnerability) — ошибка или недостаток в системе, используя который можно намеренно нарушить ее конфиденциальность, целостность или доступность. Речь пойдет не столько о защите самого веб-приложения, а о том, что уязвимости веба позволяют киберпреступникам получать доступ к расположенным за ним сетевым устройствам, серверам приложений, БД и пр. Некоторые уязвимости известны только теоретически, другие же могут активно использоваться при наличии эксплойта (exploit) — программного кода, использующего уязвимость в программном обеспечении и применяемого для проведения атаки на систему. Уязвимости веб-приложений гораздо проще выявить, эффективнее использовать и при этом скрыть свое присутствие. Уязвимости могут эксплуатироваться не только из интернета, но и изнутри (внутренний нарушитель). Не всегда они являются дефектами разработки самого приложения, а часто возникают в результате проблем с безопасностью обработки информации, неправильных конфигураций, слабого администрирования и порой даже отсутствия осведомленности у лиц, ответственных за информационные технологии и их безопасность.

Предлагаемые решения проблемы не всегда очевидны, понятны и доступны — от противоречия друг другу до потери доступности и полного хаоса. Пример популярного подхода:

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

Веб-уязвимости сегодня превосходят по количеству и связанным рискам любые другие проблемы информационной безопасности. 20% веб-приложений 10 лет назад — это уже почти 80% общего числа корпоративных приложений сегодня. Веб не только в интернете, ERP, АБС, управление сетями и многое другое используют веб-технологии. Подавляющее большинство внешних атак на корпоративные информационные системы нацелены именно на уязвимости веб-приложений, и с кратным ростом рисков пристальное внимание стало уделяться выявлению и устранению уязвимостей именно в них. И если внутри сети злоумышленнику доступен веб, его задачи упрощаются на порядок.

Рисунок 1. Уязвимости веб-приложений

Миф №1: шлюз безопасности

Безопасность веб-приложений отличается от безопасности сети, даже если не брать в расчет единую точку отказа UTM и его возможное влияние на время отклика и пропускную способность сети, и, как следствие, снижение доступности. Веб-приложения должны быть доступны всем, поэтому остается только разрешить весь входящий трафик на порты 80 (HTTP) и 443 (HTTPs) и надеяться, что все будут играть по правилам. Мониторинг сессий на наличие, идентификацию и блокирование исполняемого кода не заменяет анализ трафика веб-приложений, поэтому эксплуатация уязвимости посредством легитимного веб-запроса не составляет труда при наличии шлюза безопасности «всё в одном».

Миф №2: фаервол веб-приложений (WAF)

Фаервол веб-приложений (WAF) анализирует HTTP/HTTPs веб-трафик на предмет обнаружения вторжений. Например, если злоумышленник пытается использовать известную уязвимость веб-приложения, WAF может заблокировать соединение, но есть нюансы:

  1. Проблемы безопасности веб-приложения WAF не решает, он лишь остановит часть запросов злоумышленника к приложению.
  2. Несмотря на заверения об интеллекте, эвристике решения, полном и глубоком сканировании трафика, WAF определяет только известные ему уязвимости, так как имеет заранее сконфигурированные паттерны/сигнатуры. Он не сможет защитить от вариаций уязвимостей и эксплойтов.
  3. Насколько хорош администратор WAF, настолько и эффективен сам инструмент, являющийся тонко конфигурируемым ПО/appliance. И снова самым слабым звеном цепи является пользователь. Не сможет помочь фаервол, если его профессионально и постоянно не конфигурировать/ обучать.
  4. WAF — обычное программное обеспечение, имеющее собственные уязвимости и баги. Эксперты по безопасности регулярно идентифицируют все новые уязвимости WAF, позволяющие получить доступ к консоли администрирования, отключить или обойти фаервол, представляющий дополнительный слой защиты, но не обеспечивают решение проблемы.
  5. Имеет смысл применять WAF после оценки защищенности веб-приложений.

Миф №3: сетевой сканер защищенности веб-приложений

Сетевые сканеры безопасности предназначены для выявления небезопасных конфигураций, отсутствия необходимых обновлений и наличия уязвимостей серверов и сетевых устройств, а не уязвимостей веб-приложений. Архитектура решений, огромное количество правил и признаков, подлежащих проверке при сканировании сети, все же иногда позволяют производителям сетевых сканеров предлагать дополнительную функциональность по поиску уязвимостей веб-приложений в рамках отдельной лицензии (например, у Qualys, Tenable и др.) или даже бесплатно. Но удобство использования и качество их работы далеки даже от среднего уровня профессиональных сканеров веб-приложений, и доверие к таким продуктам не может быть восстановлено после нахождения критических уязвимостей там, где универсальный сканер отработал на 100%. Средства фаззинга, тестирования протоколов, поиска эксплойтов, генераторы атак, анализаторы памяти и дебаггеры также не являются полноценными средствами анализа защищенности веб-приложений.

Как защищать веб-приложения?

Чтобы убедиться, что веб-приложение является безопасным, необходимо определить все проблемы безопасности и уязвимости в самом веб-приложении, прежде чем злоумышленник идентифицирует и использует их. Очень важно регулярно выполнять процесс обнаружения уязвимостей веб-приложения на протяжении жизненного цикла разработки программного обеспечения (SDLC), а не только в процессе эксплуатации. Тестирование на ранних стадиях разработки имеет первостепенное значение, поскольку в дальнейшем может быть очень сложно или вовсе невозможно обеспечить безопасность приложения, не переписав его. Чем раньше безопасность веб-приложения будет включена в проект (by design), тем более безопасным будет веб-приложение и тем дешевле и проще будет устранить выявленные проблемы на более позднем этапе.

Существует несколько технологий обнаружения уязвимостей в веб-приложениях:

  • автоматическое сканирование по принципу белого ящика (white box);
  • проверка исходного кода вручную;
  • тест на проникновение (penetration test);
  • автоматическое сканирование по принципу черного ящика (black box).


Лучшего из них не существует — каждый имеет свои плюсы и минусы. По версии Gartner (Magic Quadrant for Application Security Testing 2020 от 19 марта 2020) различаются:

  • статическое тестирование (SAST, Static Application Security Testing);
  • динамическое тестирование (DAST);
  • интерактивное тестирование (IAST);
  • тестирование мобильных приложений (MAST).

Причем Gartner авторитетно не различает технологии, сравнивая не связанные по функционалу и по целям применения решения, но, похоже, сравнивая объемы клиентских баз производителей. Например, отдает лидирующую позицию HP и исключает из обзора PortSwigger (кто не знает Burp), проводит аналогию между Qualys, хорошо известным сетевым сканером Web Application Scanning (WAS), с ПО поиска веб-уязвимостей Rapid7 AppSpider. Приятно, что отечественный Positive Technologies Application Inspector попал в обзор. Только в их описании честно сделано различие между SAST и DAST. Не должно вводить в заблуждение позиционирование некоторыми производителями своих решений как интерактивные сканеры (IAST), как правило, реализуемые в виде агентов среды выполнения программных тестов. IAST якобы объединяет лучшие возможности SAST и DAST, но это продукты разных классов по сути («… as an add-on to the DAST, but can’t be delivered as a stand-alone product» (С)). Также не должны выделяться в отдельную технологию сканеры мобильных приложений (MAST), так как для сканирования мобильных приложений подходят почти все современные SAST и DAST. Тем не менее, постараемся придерживаться предложенной терминологии.

Cтатические анализаторы исходного кода (SAST, white box scanner) проверяют исходные (и/или двоичные) коды приложений на предмет обнаружения преднамеренных (НДВ) и непреднамеренных ошибок в программном обеспечении. Успешно применяются разработчиками, имеющими доступ ко всему коду, но усложняют процедуры разработки. Использовать их заказчикам для эксплуатируемых систем уже поздно. В настоящем обзоре не рассматриваются:

  • Micro Focus (HP до сентября 2020) Fortify Static Code Analyzer
  • IBM Security AppScan Source
  • Checkmarx CxSAST
  • CA Technologies (Veracode до апреля 2020) Veracode Static Analysis.

Что касается Contrast Security, SiteLock Synopsys (Black Duck до декабря 2020), Trustwave и WhiteHat Security, упомянутых Gartner, автору не удалось установить их применимость и позиции на рынке.

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

Рисунок 2. Уровни критичности уязвимостей

Сканеры защищенности/безопасности веб-приложений (DAST, black box scanner, Web Application Security Scanner, Web Application Vulnerability Scanner) имитируют атаки и анализируют реакции приложения в автоматическом режиме для выявления уязвимостей и проблем безопасности уже запущенных в эксплуатацию приложений. Необходимо понимать, что динамическое сканирование должно включать минимум три основных этапа:

  1. Поиск (Crawl) — идентификация точек входа в приложение и ветвлений/ поверхностей атаки, наиболее важный этап, так как уязвимость не может быть обнаружена, если не будет идентифицирована точка входа.
  2. Атака (Attack) — проведение множества проверок по всем поверхностям атаки.
  3. Проверка (Proof) — определение реальности эксплуатации уязвимостей, их критичности при наличии эксплойта.

В отчет Gartner 2020 не попали два популярных DAST-продукта: Burp и Acunetix, хотя они были в отчете 2020 года и заслуженно сравниваются Шай Ченом, признанным экспертом по кибербезопасности, проводящим ежегодные сравнения DAST с 2010 года:

  • Micro Focus (HP) Fortify WebInspect
  • IBM AppScan Standard/Enterprise
  • PortSwigger Burp Suite
  • Rapid7 AppSpider
  • Netsparker
  • Acunetix

Рисунок 3. Сравнение наиболее популярных сканеров защищенности веб-приложений

Эксперты по веб-безопасности и пентестеры всегда используют DAST для упрощения процесса тестирования на проникновение с целью обеспечения быстрой и правильной проверки всех поверхностей атаки. Например, для совсем небольшого приложения со 100 видимыми параметрами только по межсайтовому скриптингу (xss) необходимо произвести около 800 тестов вручную. Если каждый тест занимает около 2 минут, и если все проходит гладко, такой тест займет около 12 дней, при работе тестера 24 часа в сутки. И это только видимые параметры. Как правило, в веб-приложении их гораздо больше. Автоматический сканер отработает тот же объем тестов и определит все невидимые параметры примерно за 2-3 часа.

Динамический анализ может расширить возможности статического анализа или применяться самостоятельно, когда доступ к исходным текстам отсутствует, например заказчиком, QA, менеджерами и т. д. Сканеры безопасности веб-приложений стали очень популярны, потому что они автоматизируют большую часть процесса обнаружения уязвимостей и, как правило, очень просты в использовании. Выбрать такой, который отвечал бы всем требованиям как среди коммерческих, так и бесплатных сканеров, непросто. Чтобы узнать, какой из них является лучшим, придется проверить их все.

Выбор сканера защищенности веб-приложений

В течение 5 минут поиска в интернете можно обнаружить более 30 бесплатных сканеров. Кстати, у Шай Чена в обзорах есть наиболее популярные из них. Возникает вопрос, зачем за что-то платить, когда бесплатно есть такой выбор?

Большинство бесплатных продуктов не предлагают в автоматическом режиме поиск, атаки, проверки и требуют много ручного труда: должны быть настроены прокси-серверы для записи трафика, запуска сценариев анализа записанного сеанса и прочее, в отличие от коммерческих, использование которых является очень простым процессом. Каковы гарантии, что ручной тест будет иметь доступ ко всем областям и входам в веб-приложении и все сеансы будут записаны? Кроме того, иногда физически невозможно вручную просканировать веб-приложение, такое как современная ERP-система. Возможно, коммерческий сканер не сможет просканировать все 100% областей веб-приложения и определить все векторы атак, но автоматизация процесса всегда эффективнее, чем сканирование веб-приложения вручную.

Сканер безопасности веб-приложений — это то, от чего которого зависит бизнес. Сканеры должны интегрироваться со средствами разработки и средствами совместной работы, что придает им статус универсального корпоративного инструмента. Поэтому здесь должны быть средства интеграции, техническая документация и профессиональная поддержка. Сильно расстраивает, когда сталкиваешься с проблемой, а поддержка недоступна или просто не существует. Иногда в критической ситуации мы готовы заплатить за поддержку даже бесплатного программного обеспечения. Интеграция DAST cо средствами разработки (CI/CD), системами обработки заявок (ticketing system), другими корпоративными системами должна быть доступна через API командной строки (CLI) или веб (REST API).

Бесплатные сканеры, разработанные талантливыми людьми, через некоторое время забрасываются, перестают обновляться или поддерживаться. Коммерческие же сканеры разрабатываются и поддерживаются финансово успешными компаниями, которые могут позволить себе новейшие технологии, хороших разработчиков, собственные исследовательские отделы, регулярные обновления (минимум раз в месяц). В такие проекты вкладываются большие средства. Коммерческий сканер работает с широким спектром современных веб-технологий. Проверка сканера на тестовых или взломанных приложениях, таких как DVWA, bWAPP — это неправильный подход, потому что реальные приложения, требующие защиты, не идентичны (с точки зрения платформ, фреймворков, кодирования и технологий), а часто уникальны.

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

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

Рисунок 4. Детектирующая способность сканеров

Чем выше степень автоматизации сканера, тем лучше. Безопасность веб-приложений не является массовой отраслью, и не всегда можно найти специалиста, который тонко настроит сканер. Поэтому предпочтение нужно отдавать тем сканерам, которые могут автоматически определять сценарии и подстраиваться под них. Например, Netsparker поддерживает anti-CSRF-токены, перезапись URL и адаптируются к сценарию, в отличие от сканера, обнаруживающего лишь ограниченное число самых популярных уязвимостей.

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

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

  • постановка целей и задач проекта;
  • сбор информации;
  • поиск уязвимостей;
  • идентификация и проверка уязвимостей;
  • подготовка отчетов;
  • исправление.

В любой компании эти этапы потребуют участия большого количества сотрудников: разработчиков, аналитиков QA, менеджеров проектов, сетевых администраторов, разработчиков веб-приложений, ИБ, аудиторов и управленцев. Часто к проектам по оценке веб-безопасности привлекаются сторонние организации. С таким количеством высокооплачиваемых сотрудников, работающих для достижения общей цели, каждый бизнес должен автоматизировать как можно больше, чтобы избежать ошибок и расходов. При выполнении тестов возникает риск дублирования усилий. При наличии большого количества сложных веб-приложений это может привести к значительному объему ненужной работы, что негативно скажется на времени и управлении проектами. Если тестирование безопасности веб-приложений не автоматизировано, некоторые (если не все) серьезные уязвимости веб-приложений могут быть пропущены. Например, ERP имеет 200 точек входа, которые должны быть проверены по 100 различным вариантам. 20 000 тестов по 5 минут займут у специалиста 208 рабочих дней только на поиск. Автоматический сканер выдаст отчеты за нескольких часов, и в отличие от человека, не забудет отсканировать входной параметр, не прекратит перебор вариантов конкретной атаки. При оценке возможностей автоматизации необходимо обращать внимание на возможность коллективной работы по обеспечению безопасности веб-приложений. Так явный приоритет имеют многопользовательские сканеры: различные роли, управление доступом и правами к сканеру, его возможностям, результатам работы (многопользовательские платформы).

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

Следующим критерием при выборе сканера безопасности веб-приложений, является количество найденных уязвимостей, которые не являются ложными срабатываниями. Ложное срабатывание (false positive) похоже на ложную тревогу — сигнализация срабатывает, а взломщика нет; сканер указывает на уязвимость, но на самом деле это не так. Уязвимость, найденная сканером, далеко не всегда требует срочных действий, а та, что подтверждена существующим эксплойтом, действительно требует срочной реакции. К сожалению, некоторые сканеры могут идентифицировать сотни критических уязвимостей, более 70% из которых будут ложными срабатываниями. При отсутствии ложных срабатываний не придется тратить время на проверку обнаруженных уязвимостей вместо исправлений реально существующих. Тест на проникновение может потребовать значительного количества времени, так как тестировщики должны проверить каждую уязвимость на возможность ее эксплуатации. По своей природе люди склонны игнорировать ложные тревоги. Пентестеры делают то же самое: если первые 20 вариантов из 200 уязвимостей являются ложными срабатываниями, тестер предполагает, что все остальные также являются ложными срабатываниями, и игнорирует их. При этом вероятность наличия реальной уязвимости остается высокой. Если специалист не сможет эксплуатировать уязвимость из-за недостатка знаний или опыта, такая уязвимость считается ложным срабатыванием и не будет устранена.

Наиболее продуктивной и экономически эффективной для обеспечения безопасности веб-приложений является технология сканирования на основе доказательств (Proof-Based Scanning Technology). Сканер должен автоматически проверить найденные уязвимости и представить доказательства возможности их эксплуатации. В этом случае тестирование займет гораздо меньше времени, и для его проведения не потребуется присутствие специалистов с многолетним опытом «этического взлома». Единицы из представленных на рынке сканеров имеют такую технологию. При ней также безопасна эксплуатация уязвимостей и нет никаких шансов нарушить целостность данных или доступность сервисов.

Рисунок 5. Технология Proof-Based Scanning Technology

Не последним критерием выбора является экономичность выбранного решения. Здесь важны следующие моменты:

Стоит обратить внимание, что далеко не все производители предлагают интересующее нас решение в виде готового продукта:

  • самодостаточен ли предложенный продукт или потребует для работы других продуктов производителя (платформы, сервиса, связи с уже имеющимся решением);
  • все ли требуемые (продемонстрированные) функции выполняются продуктом или некоторые из них требуют отдельных лицензий;
  • какая редакция продукта требуется и предлагается: Enterprise, Professional, Standard и пр. могут иметь существенные ограничения и различия.

  1. Лицензирование.
Мастер Йода рекомендует:  ТОП-15 алгоритмических задач, реализованных на C++

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

Постоянная лицензия всегда значительно дороже годовой лицензии по первоначальной стоимости, но может быть выгоднее по совокупной стоимости владения.

Ежегодная подписка по количеству сканирований скорее менее выгодна, чем по количеству сканируемых объектов, адресов или сайтов.

Лицензия на несколько лет выгоднее по сравнению с годовой.

Включена ли техническая поддержка (обновления, специальные уведомления) в цену или стоит отдельных денег. Во сколько обойдется лицензия на 3 года с учетом поддержки.

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

Сервис из облака (SaaS) хранит и использует конфиденциальные данные пользователя (информацию о приложениях, связанных системах, уязвимостях и пр.) вне контролируемого периметра пользователя. В случае полного контроля над решением (on-premise) конфиденциальность может быть обеспечена самим владельцем.

Системные требования или требуемая для решения инфраструктура могут потребовать дополнительных расходов.

Выводы

Владельцы бюджетов и сотрудники служб ИБ задают вопрос, какой вариант является лучшим: инвестировать в сканер безопасности веб-приложений, который может быть использован собственными сотрудниками, или нанять профессиональную команду пен-тестеров? И если сканер уже есть, то существует ли «правильный» сотрудник, чтобы проверить результаты его работы? Сканеры безопасности никогда не заменят профессионалов, но и профессионалы никогда не будут такими эффективными, как автоматические сканеры. Благодаря автоматизации и современным технологиям мы можем автоматизировать больше, поэтому тесты на проникновение требуют меньше вмешательства человека. Gartner прогнозирует, что рынок автоматических сканеров приложений достигнет 14% всех средств обеспечения безопасности к 2021 году, оставаясь самым быстрорастущим среди всех сегментов ИБ. Но нельзя полагаться только на сканеры. Мы подготовили для вас краткую памятку по защите веб-приложений:

  1. Регулярно проводите сканирование веб-приложений автоматическим сканером.
  2. Отключите не используемые в среде веб-приложения функции операционной системы (сетевые службы/демоны, например, SMTP).
  3. Запретите локальный вход на веб-сервер. Если не возможно, используйте RDP или SSH с шифрованием.
  4. Ограничьте удаленный доступ к IP-адресам корпоративной сети.
  5. Используйте отдельные учетные записи с ограниченными правами для каждой роли администраторов (резервные копии, управление журналами, обновления БД, настройка служб и т. д.).
  6. Предоставьте минимально возможные привилегии каждому приложению, службе и пользователю.
  7. Отделяйте веб-окружение, среды разработки и тестирования. Включенная отладка среды веб-приложения формирует журналы, содержащие конфиденциальную информацию о настройке баз данных. Не загружайте файлы журналов или файлы исходного кода в среду «боевого» веб-приложения.
  8. Несвязанную информацию (номера счетов клиентов и активность пользователей веб-сайта) храните в разных БД, с разными пользователями.
  9. Примените ту же концепцию сегрегации к файлам ОС и веб-приложений. В идеале файлы веб-приложения, т. е. каталог, который публикуется на веб-сервере, должны находиться на отдельном от ОС и файлов журнала диске.
  10. Всегда используйте самую последнюю версию программного обеспечения и устанавливайте исправления безопасности.
  11. Проводите регулярный мониторинг и аудит серверов и журналов, анализируйте лог-файлы серверов.
  12. Помимо сканера безопасности веб-приложений, обязательно используйте сканер безопасности сети другого производителя.

10 советов по безопасности в Интернете

Саныч

Ветеран

Если вы много времени проводите в Сети, то полноценная защита просто необходима. «Руформатор» подготовил десять советов о том, как сделать веб-серфинг безопасным.

Совет №1. Не ходите по подозрительным ссылкам.

Если вам пришло письмо от вашего банка с предложением обновить пароль, или с сайта «Одноклассники.ру» поступило уведомление о новом сообщении, не торопитесь открывать предлагаемые ссылки. Вместо odnoklassniki.ru вполне можно увидеть odnoсlassniki.ru или даже odnaklassniki.ru: разница всего в одной букве, и многие этого даже не замечают. Если вы проследуете по этой ссылке, то в худшем случае можете подцепить серьезный вирус, а в лучшем – просто лишитесь своего аккаунта на сайте.

Совет №2. Доверяйте антиспам-фильтрам электронной почты.

Как правило, они фильтруют практически все письма, обманом завлекающие вас на тот или иной хакерский сайт. И даже если вам все-таки пришло письмо с сообщением о выигрыше миллиона фунтов стерлингов, не кидайтесь радостно на стену с криками «Я богат!»: такие сообщения получают сотни тысяч пользователей по всему миру ежедневно. Великобритания давно бы разорилась, выплачивая каждому победителю по миллиону.

Совет №3. Установите комплексную систему защиты.

«Чистый» антивирус – вчерашний день. Сегодня актуальны так называемые «комплексные системы защиты», включающие в себя антивирус, файрволл, антиспам-фильтр и еще пару-тройку модулей для полной защиты вашего компьютера. Наиболее популярные – Kaspersky Internet Security, ESET Smart Security, Symantec Norton 360. И еще десяток других. Не экономьте на этих системах: $50-70 за годовую лицензию не сравнить с потерей важнейшей информации, которая может случиться по причине недостаточного уровня защиты вашего ПК. И не забывайте регулярно обновлять базы сигнатур: лучше всего настроить программу на автоматическое обновление.

Совет №4. Пользуйте браузерами Mozilla Firefox, Google Chrome и Apple Safari.

Львиная доля червей и вредоносных скриптов написаны под Internet Explorer и Opera. Первый до сих пор удерживает первую строчку в рейтинге популярности со своими 67% пользователей, но лишь потому, что он встроен в Windows. Opera очень популярна в России из-за ее призрачного удобства и реально большого числа настроек. Уровень безопасности сильно хромает как у одного, так и у второго браузера, поэтому лучше ими не пользоваться вовсе.
И не обращайте внимания на регулярно появляющиеся в прессе сообщения о том, что в Firefox больше всего уязвимостей. Во-первых, вы вряд ли будете это проверять, а во-вторых, если даже и так (что весьма сомнительно), ими почти никто не пользуется – настолько быстро разработчики ликвидируют эти «дыры».

Совет №5. Не верьте предложениям прочитать чужие SMS или посмотреть на «шокирующее видео секса с Семенович».

Периодически Рунет (в частности, «В Контакте») потрясают волны спамерского безумия: сейчас очень популярны сайты, предлагающие доступ к чужим SMS и распечаткам звонков, до них на пике славы были аудионаркотики, еще раньше — «программы, позволяющие заходить в чужие страницы, даже закрытые, под чужим именем». В общем, фантазия мошенников безгранична. Когда спадет волна SMS, придет что-нибудь другое.
Общее у всех этих фальшивок одно – вам предлагается нечто, нарушающее чье-то личное пространство якобы под большим секретом.
Люди любопытны и доверчивы, и именно излишняя доверчивость иногда приводит к большим бедам. В лучшем случае, захотев прочитать чужие SMS, можно лишиться 300-600 рублей на счету телефона – если нужно будет отправить сообщение на короткий номер для оплаты, в худшем – на компьютере поселится злобный вирус с такого сайта.
Запомните одну простую вещь: халявы не бывает. Ни один сотовый оператор не допустит, чтобы возможность просмотра распечаток звонков стала доступна кому попало через Интернет, а спецслужбы не буду смотреть сквозь пальцы на то, как настоящие аудионаркотики (а не та липа, которой на самом деле являются предлагаемые звуковые файлы) получают широкое распространение.

Совет №6. Купите Apple Macintosh.

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

Совет №7. Пользуйтесь лицензионным ПО.

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

Совет №8. Делайте покупки только в проверенных онлайн-магазинах.
Если вы любите делать покупки онлайн с помощью пластиковой карты, магазин должен быть полностью безопасным. Если это малоизвестный магазин, лучше всего будет проверить его перед тем, как оставлять там какую-либо финансовую информацию. Самый простой путь – написать название или URL сайта в поисковиках и посмотреть, что пишут другие люди про этот магазин. Второй путь – установить Netcraft Toolbar (для Mozilla Firefox и Internet Explorer). Это небольшое бесплатное дополнение к вашему браузеру покажет потенциально опасный сайт и перекроет доступ к известному сайту мошенников (база данных пополняется постоянно).

Совет №9. Регулярно устанавливайте обновления программ.

Методы взлома постоянно совершенствуются, равно как и методы защиты. Представители Microsoft регулярно рапортуют о том, что их новый Internet Explorer еще безопасней предыдущего, да и уязвимости в Mozilla Firefox устраняются буквально в течение нескольких дней после их обнаружения. Своевременная установка обновлений касается любых программ, не только браузеров, хотя для последних надо это делать как можно быстрее.

Совет №10. С осторожностью относитесь к скачиваемым в Интернете файлам.

«И на старуху бывает проруха» — никто не гарантирует, что, скачивая программу даже на известном и уважаемом сайте, вы не подцепите очередной троян. Новые вирусы выходят быстрее, чем защита от них, и антивирусное ПО сайтов вполне может «проморгать» очередной хитрый вирус. Особенно небезопасно скачивать файлы из пиринговых сетей, а также приносить их на флешке неизвестно откуда. Совет один – обязательно сканируйте все новые файлы вашим антивирусом или комплексной системой защиты, а при подозрениях, что такая система не справляется – отправляйте подозрительный файл разработчикам в «Лабораторию Касперского», Eset или «Доктор Веб», чтобы там его исследовали по полной программе и дали вам уверенный ответ.

10 советов по безопасности в Интернете

Если вы много времени проводите в Сети, то полноценная защита просто необходима. «Руформатор» подготовил десять советов о том, как сделать веб-серфинг безопасным.

Совет №1. Не ходите по подозрительным ссылкам.

Если вам пришло письмо от вашего банка с предложением обновить пароль, или с сайта «Одноклассники.ру» поступило уведомление о новом сообщении, не торопитесь открывать предлагаемые ссылки.


Вместо odnoklassniki.ru вполне можно увидеть odnoсlassniki.ru или даже odnaklassniki.ru: разница всего в одной букве, и многие этого даже не замечают. Если вы проследуете по этой ссылке, то в худшем случае можете подцепить серьезный вирус, а в лучшем – просто лишитесь своего аккаунта на сайте.

Совет №2. Доверяйте антиспам-фильтрам электронной почты.

Как правило, они фильтруют практически все письма, обманом завлекающие вас на тот или иной хакерский сайт. И даже если вам все-таки пришло письмо с сообщением о выигрыше миллиона фунтов стерлингов, не кидайтесь радостно на стену с криками «Я богат!»: такие сообщения получают сотни тысяч пользователей по всему миру ежедневно. Великобритания давно бы разорилась, выплачивая каждому победителю по миллиону.

Совет №3. Установите комплексную систему защиты.

«Чистый» антивирус – вчерашний день. Сегодня актуальны так называемые «комплексные системы защиты», включающие в себя антивирус, файрволл, антиспам-фильтр и еще пару-тройку модулей для полной защиты вашего компьютера. Наиболее популярные – Kaspersky Internet Security, ESET Smart Security, Symantec Norton 360. И еще десяток других.

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

Совет №4. Пользуйте браузерами Mozilla Firefox, Google Chrome и Apple Safari.

Львиная доля червей и вредоносных скриптов написаны под Internet Explorer и Opera. Первый до сих пор удерживает первую строчку в рейтинге популярности со своими 67% пользователей, но лишь потому, что он встроен в Windows. Opera очень популярна в России из-за ее призрачного удобства и реально большого числа настроек. Уровень безопасности сильно хромает как у одного, так и у второго браузера, поэтому лучше ими не пользоваться вовсе.

И не обращайте внимания на регулярно появляющиеся в прессе сообщения о том, что в Firefox больше всего уязвимостей. Во-первых, вы вряд ли будете это проверять, а во-вторых, если даже и так (что весьма сомнительно), ими почти никто не пользуется – настолько быстро разработчики ликвидируют эти «дыры».

Совет №5. Не верьте предложениям прочитать чужие SMS или посмотреть на «шокирующее видео секса с Семенович».

Периодически Рунет (в частности, «В Контакте») потрясают волны спамерского безумия: сейчас очень популярны сайты, предлагающие доступ к чужим SMS и распечаткам звонков, до них на пике славы были аудионаркотики, еще раньше — «программы, позволяющие заходить в чужие страницы, даже закрытые, под чужим именем». В общем, фантазия мошенников безгранична. Когда спадет волна SMS, придет что-нибудь другое.

Общее у всех этих фальшивок одно – вам предлагается нечто, нарушающее чье-то личное пространство якобы под большим секретом. Люди любопытны и доверчивы, и именно излишняя доверчивость иногда приводит к большим бедам. В лучшем случае, захотев прочитать чужие SMS, можно лишиться 300-600 рублей на счету телефона – если нужно будет отправить сообщение на короткий номер для оплаты, в худшем – на компьютере поселится злобный вирус с такого сайта.

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

Совет №6. Купите Apple Macintosh.

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

Совет №7. Пользуйтесь лицензионным ПО.

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

В общем, лучше не рисковать.

Совет №8. Делайте покупки только в проверенных онлайн-магазинах.

Если вы любите делать покупки онлайн с помощью пластиковой карты, магазин должен быть полностью безопасным. Если это малоизвестный магазин, лучше всего будет проверить его перед тем, как оставлять там какую-либо финансовую информацию. Самый простой путь – написать название или URL сайта в поисковиках и посмотреть, что пишут другие люди про этот магазин. Второй путь – установить Netcraft Toolbar (для Mozilla Firefox и Internet Explorer). Это небольшое бесплатное дополнение к вашему браузеру покажет потенциально опасный сайт и перекроет доступ к известному сайту мошенников (база данных пополняется постоянно).

Совет №9. Регулярно устанавливайте обновления программ.

Методы взлома постоянно совершенствуются, равно как и методы защиты. Представители Microsoft регулярно рапортуют о том, что их новый Internet Explorer еще безопасней предыдущего, да и уязвимости в Mozilla Firefox устраняются буквально в течение нескольких дней после их обнаружения. Своевременная установка обновлений касается любых программ, не только браузеров, хотя для последних надо это делать как можно быстрее.

Совет №10. С осторожностью относитесь к скачиваемым в Интернете файлам.

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

Особенно небезопасно скачивать файлы из пиринговых сетей, а также приносить их на флешке неизвестно откуда. Совет один – обязательно сканируйте все новые файлы вашим антивирусом или комплексной системой защиты, а при подозрениях, что такая система не справляется – отправляйте подозрительный файл разработчикам в «Лабораторию Касперского», Eset или «Доктор Веб», чтобы там его исследовали по полной программе и дали вам уверенный ответ.

Безопасность и защита сайтов

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

Классификация угроз безопасности Web-приложений

Данная классификация представляет собой совместную попытку членов международного консорциума собрать воедино и упорядочить угрозы безопасности Web-сайтов. Члены Web Application Security Consortium создали данный проект для унификации стандартной терминологии описания угроз безопасности Web-приложений. Это даёт возможность разработчикам приложений, специалистам в области безопасности, производителям программных продуктов и аудиторам использовать единый язык при своем взаимодействии.

Данный документ содержит компиляцию и квинтэссенцию известных классов атак, которые представляют угрозы для Web-приложений. Каждому классу атак присвоено стандартное название и описаны его ключевые особенности. Классы организованы в иерархическую структуру.

Классы атак

1. Аутентификация (Authentication)

Раздел, посвященный аутентификации, описывает атаки направленные на используемые Web-приложением методы проверки идентификатора пользователя, службы или приложения. Аутентификация использует как минимум один из трех механизмов (факторов): «что-то, что мы имеем», «что-то, что мы знаем» или «что-то, что мы есть». В этом разделе описываются атаки, направленные на обход или эксплуатацию уязвимостей в механизмах реализации аутентификации Web-серверов.

    Подбор (Brute Force)

2. Авторизация (Authorization)

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

    Предсказуемое значение идентификатора сессии (Credential/Session Prediction)

3. Атаки на клиентов (Client-s >

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

    Подмена содержимого (Content Spoofing)

4. Выполнение кода (Command Execution)

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

    Переполнение буфера (Buffer Overflow)

5. Разглашение информации (Information Disclosure)

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

    Индексирование директорий (Directory Indexing)

6. Логические атаки (Logical Attacks)

Атаки данного класса направлены на эксплуатацию функций приложения или логики его функционирования. Логика приложения представляет собой ожидаемый процесс функционирования программы при выполнении определенных действий. В качестве примеров можно привести восстановление пролей, регистрацию учетных записей, , аукционные торги, транзакции в системах электронной коммерции. Приложение может требовать от пользователя корректного выполнения нескольких последовательных действий для выполнения определенной задачи. Злоумышленник может обойти или использовать эти механизмы в своих целях.

    Злоупотребление функциональными возможностями (Abuse of Functionality)

Добавить комментарий