SQL injection
Внедрение SQL-кода (англ. SQL injection) SQLприм.ред.: смотри в желтой рамочке
- Из очевидного — утечка информации. Если атакующий смог сформировать запросы к вашим базам данных, он может тем или иным образом получить значения, которые не предполагались для вывода (хэши паролей, адреса клиентов и прочее);
-
Изменение данных. Сейчас многие разработчики используют БД через ORM системы. Сами эти системы по умолчанию позволяют делать несколько запросов за 1 раз, синтаксис SQL также позволяет это делать. При наличии уязвимости все может обратиться не только к выборке данных, но и к их изменению (вплоть до удаления таблиц, изменения структуры базы данных и пр.).
В этой же ситуации возможно повышение привилегий пользователя. Меняете поля в тех или иных таблицах (например, в базе users поставить is_admins=true) и тем самым поднимаете свои права до админа; - DoS. В некоторых случаях инъекция может привести к отказу в обслуживании. Формируется несколько тяжелых запросов к БД, запускается в несколько потоков и ваш сервис на какое-то время может перестать работать;
- Чтение системных файлов — еще одна беда, которую может принести SQL инъекция. Возникновение этого риска зависит от того, какую систему БД вы используете, а также от того, какой пользователь с ней работает (привилегированный или нет);
- RCE (Remote Code Execution) — это исполнение кода. Напрямую зависит от типа БД, которая используется (раньше такое было возможно по умолчанию, с дефолтными настройками БД, в MSSQL).
SQLSQL
MIME sniffing
Этот не название способа атаки, а проверка содержимого файлов, которая связана в первую очередь с XSS. Зачастую злоумышленник может загрузить какой-либо вредный код в виде какого-то файла с совершенно безобидным расширением. Допустим, в качестве тега video. И может случится так, что браузер распознает файл как код и выполнит его. Чтобы этого не произошло может использоваться установка заголовка «X-Content-Type-Options: nosniff». При получении этого заголовка браузер будет проверять является ли содержимое файла содержимым именно того формата, который указан (эта проверка и называется MIME sniffing).
Возможности
Будущее, которое раньше было лишь сюжетом фантастических фильмов, может стать реальностью гораздо быстрее, чем мы думаем. Интернет вещей способен существенно улучшить качество жизни человека и повлиять практически на все сферы его деятельности.
В промышленности привлечение «умных» технологий поможет отслеживать все стадии производства, внедрять эффективные решения и устранять дефекты до того, как продукт будет выпущен с конвейера.
Интернет вещей сделает в разы комфортнее нашу повседневную жизнь: «интеллектуальная» бытовая техника будет следить за домом, «умные» медицинские приборы — контролировать физическое состояние человека. Такие современные концепции, как «умный город», тоже в значительной мере основываются на возможностях Интернета вещей.
Где применяется
Интернет вещей проникает во многие сферы нашей жизни и успешно применяется уже сейчас.
Наиболее широко технология используется в системах «умного дома»: все приборы объединяются в единую сеть, которая контролирует микроклимат и при необходимости управляет электроснабжением, отоплением, системами безопасности и противопожарными системами, бытовой техникой и мультимедийными устройствами.
В сельском хозяйстве IoT-технологии применяют для контроля состояния животных, растений и окружающей среды. Фермеры Испании и Германии пользуются датчиками, которые контролируют температуру и влажность воздуха, подсказывают, когда настало время удобрять растения или собирать урожай.
Концепция «умный город» — тоже заслуга современных интеллектуальных технологий. Яркий тому пример — Яндекс.Пробки. Этот сервис собирает данные о загруженности дорог, обрабатывает информацию и может составить маршрут для объезда.
В строительстве Интернет вещей помогает отслеживать состояние домов и других сооружений, автодорог. Датчики в дорожном покрытии или на мостах анализируют освещенность, уровень вибрации, состояние погодных условий и диагностируют возможные повреждения. Эта технология уже была испытана в Калифорнии и Мичигане.
Существуют спортивные браслеты, которые могут отслеживать сон, рацион питания, количество шагов и сожженные калории. Такой браслет может служить будильником: он отслеживает фазы сна и будит владельца в состоянии, когда просыпаться легче всего. Подобные устройства отлично подойдут и для медицинских целей — контролировать состояние пациента в режиме реального времени.
Интернет вещей в России
Согласно отчету IDC Russia Internet of Things Market 2016-2020 Forecast, объем российских инвестиций в IoT-технологии уже составляет $4 млрд, а к 2020 году достигнет $9 млрд. Лидирующими сферами в России, где активно внедряются и применяются подобные технологии, являются транспорт, производственная сфера и электроэнергетика. Они занимают более 50% общего объема рынка IoT в нашей стране. С небольшим отставанием за ними следует государственный сектор, занимающийся развитием концепции «умных городов».
Внедрение IoT в производство позволяет проводить мониторинг состояния оборудования, контролировать процессы на всех этапах производства и своевременно предотвращать неполадки.
В транспортной сфере IoT-технологии помогают отслеживать местоположение, маршруты и контролировать условия перевозки грузов.
В энергетике «умные счетчики» призваны повысить безопасность и эффективность энергоснабжения. Использование интеллектуальных сетей позволяет экономить не только электроэнергетическим компаниям, но и потребителям — за счет управления профилем потребления и различными энергозатратными устройствами.
Нашумевший взлом аккаунтов знаменитостей в Twitter
Когда: июль 2020 года.
Кого или что атаковали: Twitter-аккаунты Билла Гейтса, Илона Маска, Барака Обамы, Джеффа Безоса, Канье Уэста и других известных личностей в США.
Что произошло:
Во взломанных профилях злоумышленники, от имени американских звезд, политиков и бизнесменов, призывали отправлять биткоины на указанный криптокошелек . Каждый перевод они обещали вернуть в двойном размере. Пострадали также корпоративные аккаунты Apple и Uber.
До этого в 2009 году взламывали Twitter Барака Обамы , в 2015-м — Дональда Трампа, а в 2019 году — гендиректора Twitter Джека Дорси. Однако атака 2020 года стала самой массовой.
Ущерб: Всего было взломано свыше 50 известных аккаунтов. В первые же часы после атаки мошенники получили больше 300 переводов на сумму более $110 тыс .
Nmap
Самый простой сканер уязвимостей сайта, который может показать такие подробности, как операционная система, используемые порты и сервисы. Типичный пример применения:
nmap -sS 127.0.0.1, где вместо локального IP нужно подставить адрес реального тестируемого сайта.
Вывод сообщит о том, какие сервисы запущены на нем, и какие порты в этот момент открыты. На основе этой информации можно попробовать использовать уже выявленные уязвимости.
Вот несколько ключей nmap для более пристрастного сканирования:
- -A. Агрессивное сканирование, которое вывалит очень много информации, но может занять значительное время.
- -O. Пытается определить операционную систему, задействованную на сервере.
- -D. Подменит IP адреса, с которых производится проверка, чтобы при просмотре логов сервера невозможно было определить, откуда произошла атака.
- -p. Диапазон портов. Проверка сразу нескольких служб на наличие открытых.
- -S. Позволит указать нужный IP адрес.
Предисловие[править]
Безопасность в интернете – очень важная проблема нынешнего времени. И касается она всех, от детей до пенсионеров. Она становится все актуальнее в связи с массовым приходом в интернет пользователей, почти, а то и совсем, не подготовленных к угрозам, их поджидающим. Поэтому данная статья и буде посвящена такому вопросу, как безопасность в сети интернет. Ведь страдает не один пользователь, а и многие другие, объединенные в одну глобальную структуру.
Если сказать кратко, то существуют две основные возможности того, как может ваш компьютер стать жертвой.
Первое – вы сами, странствуя по различным сайтам или устанавливая программное обеспечение с непроверенных источников, а иногда и с проверенных, заражаете свой компьютер.
Второе – возможна также ситуация, когда злоумышленники преднамеренно, с помощью, например, троянских программ или вирусов, делают ваше устройство источником опасности.
Что такое XSS
XSS (Cross-Site Scripting) — возможность выполнения произвольного JavaScript-кода в браузере жертвы в контексте вашего сайта.
Вспомним, как вызывается JavaScript из HTML:
— всё, что внутри, будет срендерено браузером как JavaScript.
— можно использовать обработчики событий, то есть атрибут, например, . Браузер попробует подгрузить картинку по источнику x. Если картинка не прогрузится, он выполнит то, что указано в обработчике событий.
— если гиперссылка ведет не на схему HTTP/HTTPS, а начинается со схемы JavaScript, то при нажатии на ссылку всё, что после схемы JavaScript, будет срендерено как JavaScript.
— то же самое, что и с гиперссылкой, только ничего не надо кликать, сработает при прогрузке.
XSS — одна из самых распространенных уязвимостей в вебе. К XSS уязвимо более 95% веб-приложений. Чтобы найти баг, не обязательно обладать специальными навыками, проходить курсы или получать высшее образование.
И действительно, несмотря на то, что XSS — распространенная уязвимость, она остается одной из самых серьезных клиентских уязвимостей.
Как найти уязвимость на сайте
Аудит информационной безопасности – одна из важнейших частей процесса отладки проекта перед запуском. Существуют специальные сканеры уязвимостей сайта, рассмотрим их подробнее
- Coder-diary. Проверяет сайт на самые популярные и простые типы уязвимостей. Забытые служебные файлы, собственная постоянно пополняемая база.
- Find-xss. Включает в себя не только XSS-сканер, но и анализатор SQL-инъекционных атак. Комплексный и довольно популярный инструмент, выполняющий широкий спектр задач проверки сайта различные виды проблем безопасности.
- Nikto. Входит в легендарную сборку Kali Linux. Проводит долгий и эффективный анализ всех работающих на сайте скриптов, находит устаревшее программное обеспечение и проблемные места проекта. Включает в себя множество плагинов и всегда генерирует много запросов.
- Acunetix. Интуитивно понятный и мощный инструмент для онлайн-анализа вашего сайта. Бесплатного функционала чаще всего достаточно для первичного ознакомления с возможностями этого монстра.
- The Metasploit Framework. Полноценный инструмент хакера. Исходя из специфики используемого протокола атаки, программа подбирает различные эксплойты и пытается взломать сервис. В связке с утилитой NMAP процесс взлома практически автоматизируется, так как она сама находит уязвимые порты и сервисы на домене.
Локации, в которых проявляются уязвимости
Уязвимости связаны с:
- физическая среда системы
- персонал (т.е. сотрудники, руководство)
- административные процедуры и политика безопасности
- ведение бизнеса и предоставление услуг
- оборудование, включая периферийные устройства
- программное обеспечение (например, локально или в облаке)
- возможность подключения (т.е. коммуникационное оборудование и средства)
Очевидно, что чисто технический подход не всегда может защитить материальные активы: необходимо иметь административную процедуру, позволяющую обслуживающему персоналу входить на объекты, и людям с достаточным знанием процедур, мотивированным для их выполнения с должной осторожностью. Однако технические средства защиты не обязательно останавливают атаки социальной инженерии (безопасности) .. Примеры уязвимостей:
Примеры уязвимостей:
- злоумышленник находит и использует уязвимость переполнения буфера для установки вредоносного ПО с последующим удалением конфиденциальных данных;
- злоумышленник убеждает пользователя открыть сообщение электронной почты с прикрепленным вредоносным ПО;
- наводнение повреждает компьютерные системы, установленные на первом этаже.
Уязвимости программного обеспечения
К распространенным типам недостатков программного обеспечения, которые приводят к уязвимостям, относятся:
-
Нарушения безопасности памяти , такие как:
чтение буфера - Свисающие указатели
Ошибки проверки ввода , например:
- Внедрение кода
- Межсайтовый скриптинг в веб-приложениях
- Обход каталога
- Электронная почта инъекция
- Атаки на строку формата
- Внедрение HTTP-заголовка
- Разделение HTTP-ответа
- SQL-инъекция
Ошибки, связанные с путаницей привилегий , такие как:
- Кликджекинг
- Подделка межсайтовых запросов в веб-приложениях
- Атака с отказом FTP
Повышение привилегий
Условия гонки , такие как:
- Расы символических ссылок
- Ошибки времени проверки до времени использования
Атака по побочному каналу
Сроки атаки
Сбои пользовательского интерфейса , такие как:
- Обвинение жертвы, побуждающая пользователя принять решение по безопасности без предоставления пользователю достаточной информации для ответа
- Условия гонки
- Предупреждение об усталости или неудовлетворительном состоянии пользователя.
Был разработан некоторый набор руководящих принципов кодирования, и было использовано большое количество статических анализаторов кода для проверки того, что код соответствует руководящим принципам.
Cамые распространенные уязвимости
Рисунок 6. Наиболее распространенные уязвимости из списка OWASP Top 10 (доля приложений)
Чаще всех других в 2019 году в веб-приложениях встречались уязвимости, связанные с некорректными параметрами безопасности (Security Misconfiguration). Так, в каждом пятом проанализированном приложении были выявлены уязвимости, позволяющие проводить атаку на сессию, в частности отсутствие флагов HttpOnly и Secure у конфиденциальных Cookie-параметров. С помощью данных недостатков злоумышленник может, например, провести атаку типа «Межсайтовое выполнение сценариев» (Cross-Site Scripting, XSS), чтобы перехватить идентификатор сессии пользователя и от его имени выполнять различные действия в приложении.
В 45% веб-приложений были обнаружены недостатки аутентификации (Broken Authentication). Почти треть выявленных уязвимостей из этой категории — это некорректное ограничение количества неудачных попыток аутентификации. В результате эксплуатации этой уязвимости злоумышленник может подобрать учетные данные пользователя и таким образом получить доступ к веб-приложению. Так, например, для одного приложения потребовалось всего 100 попыток, чтобы успешно войти с правами администратора.
Большинство атак на аутентификацию связано с использованием исключительно паролей. Ранее считавшиеся хорошими требования к смене пароля и его сложности способствуют использованию ненадежных паролей пользователями. Согласно последним рекомендациям NIST, организациям следует применять многофакторную аутентификацию.
Рисунок 7. Уязвимости, связанные с недостатками аутентификации (Broken Authentication)
Недостатки контроля доступа (Broken Access Control) в 2019 году встречались в каждом третьем приложении. Обход ограничений доступа обычно приводит к несанкционированному разглашению, изменению или уничтожению данных. Так, например, в одном из проектов небезопасная авторизация позволяла изменять содержимое профиля любого пользователя. Специалисты Positive Technologies узнали логин администратора приложения, в его профиле изменили адрес электронной почты на собственный, а затем через стандартную процедуру восстановления пароля получили доступ к сайту с правами администратора.
Количество уязвимостей, связанных с аутентификацией и авторизацией, как правило, можно минимизировать, если при разработке веб-приложения придерживаться практик безопасного программирования SSDLC.
Помимо уязвимостей из списка Top 10−2017, сообщество OWASP выделяет ряд недостатков, наличие которых рекомендуется проверять 1
Треть веб-приложений оказались уязвимы для атаки типа Clickjacking (содержали уязвимость «Некорректное представление важной информации интерфейсом пользователя», CWE-451) и столько же для атаки «Подделка межсайтового запроса» (Cross-Site Request Forgery, CSRF). В ходе CSRF-атаки злоумышленник с помощью специально сформированных сценариев может выполнять действия от лица пользователя, авторизованного в уязвимом веб-приложении
Представим ситуацию: вы авторизованы на сайте, уязвимом для подделки межсайтового запроса (пусть это будет некий онлайн-банк). В это время вам приходит фишинговое письмо со ссылкой, и вы по ней переходите. А дальше от вашего имени на уязвимый сайт (в ваш онлайн-банк) отправляется специально сформированный хакером запрос, который выполняет нужные злоумышленнику действия (например, переводит деньги на его счет). Онлайн-банк не сможет отличить этот несанкционированный запрос от легитимных, если не используется защита от CSRF-атак. Защита от данного типа атак чаще всего основывается на использовании уникальных одноразовых ключей (CSRF-токенов), подтверждении подлинности (например, с помощью пароля) или доказательстве, что запрос выполняется реальным пользователем (например, с помощью CAPTCHA), на установке дополнительного флага SameSite для Cookie-параметров.
В ходе атаки типа Clickjacking пользователь, как правило, уже находится на сайте злоумышленника, на котором так и манит нажать на кнопку (например, обещают большие скидки или рецепт вечной молодости). А поверх этой кнопки хакер реализует прозрачный HTML-фрейм (iframe) уязвимого сайта, и когда пользователь кликает по кнопке, происходит действие на уязвимом сайте, например ставится лайк под чьей-то фотографией. Таким образом происходит накрутка счетчика лайков, голосов и т. п. Одним из способов защиты от этого типа атак является использование HTTP-заголовка X-Frame-Options.
Рисунок 8. Распространенные уязвимости, не вошедшие в OWASP Top 10 (доля приложений)
Как обнаружить и устранить уязвимости сайтов?
Источниками угрозы могут являться некачественный код сайта или сервера, CMS с открытым кодом, для которых злоумышленникам проще найти уязвимость и написать эксплойт
Важно следить за возможными уязвимостями на сайтах при помощи специальных средств. Для поиска ошибок безопасности в программном обеспечении для веб-ресурсов созданы автоматизированные расширения, дополнения и другие подобные средства, которые все делают вместо человека. Следует помнить, что инструментарий злоумышленников очень богат: у них есть программы и для автоматического тестирования каждого вида изъянов безопасности, и для поиска уязвимых сайтов, и для обнаружения брешей на сервере
Важно вовремя обновлять CMS сайта, ведь в новых версиях ядра часто исправляются различные уязвимости. Для того чтобы не пропустить обновления, можно использовать встроенные средства оповещения или подписаться на почтовую рассылку от разработчика CMS.
Android
AndroidDoSУязвимость №1OMACPWAP Push SMSкучи (heap)OMACPWAP Push SMSКуча (heap)Уязвимость №2Уязвимость №3Таблица уязвимостей категории «DoS» в ОС AndroidОбход чего-либоУязвимость №1Уязвимость №2Уязвимость №3Таблица уязвимостей категории «Обход чего-либо» в ОС AndroidИсполнение кодаУязвимость №1Уязвимость №2Уязвимость №3Таблица уязвимостей категории «Исполнение кода» в ОС AndroidПовреждение памятиУязвимость №1Уязвимость №2Уязвимость №3Таблица уязвимостей категории «Повреждение памяти» в ОС AndroidДоступ к информацииУязвимость №1Уязвимость №2Уязвимость №3Таблица уязвимостей категории «Доступ к информации» в ОС AndroidУвеличение привилегийУязвимость №1Уязвимость №2Уязвимость №3Use-after-freeUse-after-freeТаблица уязвимостей категории «Увеличение привилегий» в ОС AndroidПереполнениеУязвимость №1Уязвимость №2Уязвимость №3Таблица уязвимостей категории «Переполнение» в ОС Android
Проблемы сигнатурного анализа
Не стоит забывать, что злоумышленник может легко получить список сигнатур и на его основе попытаться обойти WAF. Для таких случаев в Nemesida WAF применяется модуль машинного обучения, который позволяет усложнить попытки обхода сигнатурного метода. Для наглядности мы провели 2 теста — попытки обхода бесплатной версии Nemesida WAF (только сигнатурный анализ) и полной версии Nemesida WAF с применением машинного обучения (используя реальные модели). В качестве инструмента использовали waf-bypass и вот, что получили:
При использовании инструмента XSStrike все атаки на веб-приложение также были заблокированы, даже с учетом попыток обхода защиты по умолчанию.
BlueLeaks — самая громкая утечка данных из госорганов
Когда: июнь 2020 года.
Кого или что атаковали: правоохранительные органы и спецслужбы США.
Что произошло:
Хакеры из группировки Anonymous получили доступ к 269 Гб секретных данных правоохранительных органов и спецслужб США в виде более 1 млн файлов: видеоролики, электронные письма, аудиофайлы, а также документы по планированию и разведке за последние десять лет — включая те, что подтверждают слежку за активистами Black Lives Matter. Файлы передали группе хакеров-активистов DDoSecrets , которая опубликовала полученную информацию.
В ответ на это Twitter заблокировал аккаунт DDoSecrets, а в Германии заблокировали сервер , на котором хранились данные BlueLeaks — по запросу от американских властей.
Кстати, в январе 2019 года та же группировка опубликовала 175 Гб данных о тайных сделках Кремля, Русской православной церкви и участии России в войне на Донбассе .
Последствия: Опубликованные документы вызвали громкий скандал и обвинения в адрес американских спецслужб, которые завели уголовное дело в ответ на это. Их действия в отношении хакеров сравнили с преследованием WikiLeaks .
Кибератака на Tesla: как тебе такое, Илон Маск?
В 2016 году китайская хакерская группа Whitehat Keen Security Lab взломала Tesla Model S через точку доступа Wi-Fi . Tesla быстро устранила уязвимость, но потом хакеры проделали это снова. Они предлагали водителям подключиться к Wi-Fi, а потом устанавливали вредоносное ПО и получали полный доступ к системам управления.
В последующие годы обнаруживались все новые уязвимости . Например, можно было подключить свой ноутбук к сетевому кабелю за приборной панелью, запустить автомобиль с помощью специальной программы и управлять им. По счастливой случайности никто из водителей не пострадал, хотя у злоумышленников был доступ, в том числе, к тормозной системе. Это вызывает, в свою очередь, много вопросов к беспилотникам, где контроль со стороны водителя минимален.
В августе 2020 года русский хакер Егор Крючков попытался внедрить вредоносное ПО в систему управления Tesla . Для этого он предложил сотруднику компании взятку в $1 млн. Однако затея провалилась, а самого хакера осудили на пять лет.
10. Самая скандальная кибератака российских хакеров
Когда: май 2020 года.
Кого или что атаковали: Агентство национальной безопасности США.
Что произошло:
Хакеры попытались взломать почтовые серверы АНБ . Злоумышленники использовали уязвимость в агенте пересылки сообщений Exim, обнаруженную в июне 2019 года. Она позволяет преступнику отправлять вредоносное письмо на сервер и сразу же получать возможность удаленно запускать там же свой код.
АНБ обвинила в атаке хакерскую группировку Sandworm (она же — Telebots, Voodoo Bear, Iron Viking и BlackEnergy), связанную с Россией — ту самую, которая предположительно запустила вирус NotPetya. Ее же Минюст США позже обвинил в причастности к политическим событиям в Грузии и на Украине, а также во вмешательстве в выборы во Франции и атаке на компьютерную сеть Зимних Олимпийских игр в Пхенчхане в 2018 году .
Кибератака на звезд
В 2014 году, в результате нескольких кибератак, хакеры получили доступ к фото и видео знаменитостей, которые хранились в облаке iCloud. Многие из них — включая интимные — попали в сеть: их опубликовали на ресурсе 4chan. В числе пострадавших оказались Ким Кардашьян, Аврил Лавин, Кейли Куоко, Дженнифер Лоуренс, Кирстен Данст, Рианна, Скарлетт Йоханссон, Вайнона Райдер.
Ролик блогера Wylsacom об утечках 2014 года
Некоторые поспешили заявить, что фото и видео поддельные:
Кибератаки могут убивать?
К сожалению, да. В 2015 году хакеры взломали сайт Ashley Madison , предназначенный для знакомств замужних женщин и женатых мужчин. В результате атаки утекли данные 40 млн пользователей. Некоторым из них начали рассылать угрозы с требованием выкупа в $1 тыс. Некоторые из пострадавших испугались, что их супруг узнает об измене, и покончили с собой.
Второй случай произошел в сентябре 2020 года. Злоумышленники атаковали ИТ-систему университетской клиники в Дюссельдорфе. В результате 30 серверов и все подключенные устройства — в том числе аппараты жизнеобеспечения — на некоторое время вышли из строя. Этого оказалось достаточно, чтобы одна из пациенток скончалась . Полиция завела уголовное дело по факту убийства. Правда, позже в одном из изданий появилось опровержение: якобы смерть пациентки не была связана с кибератакой .
Windows Server 2016
Windows Server 2016DoSУязвимость №1 (7.8)SMBSMBУязвимость №2 (7.2)Уязвимость №3 (7.2)Таблица уязвимостей категории «DoS» в Windows Server 2016Обход чего-либоУязвимость №1 (6.0)билетамиБилетУязвимость №2 (5.0)Уязвимость №3 (4.6)VTLVTLТаблица уязвимостей категории «Обход чего-либо» в Windows Server 2016Исполнение кодаУязвимость №1Уязвимость №2Уязвимость №3Таблица уязвимостей категории «Исполнение кода» в Windows Server 2016Повреждение памятиУязвимость №1Уязвимость №2Уязвимость №3iSNS ServeriSNS ServerТаблица уязвимостей категории «Повреждение памяти» в Windows Server 2016Доступ к информацииУязвимость №1 (7.2)Уязвимость №2 (5.0)Уязвимость №3 (4.3)Таблица уязвимостей категории «Доступ к информации» в Windows Server 2016Увеличение привилегийУязвимость №1 (9.3)CLFSCLFSУязвимость №2 (9.3)Уязвимость №3 (9.3)Таблица уязвимостей категории «Увеличение привилегий» в Windows Server 2016ПереполнениеУязвимость №1 (9.3)Уязвимость №2 (9.3)Уязвимость №3 (9.3)Таблица уязвимостей категории «Переполнение» в Windows Server 2016На правах рекламы.Мы сделали VPS (KVM) c выделенными накопителями в Нидерландах и США (конфигурации от VPS (KVM) — E5-2650v4 (6 Cores) / 10GB DDR4 / 240GB SSD или 4TB HDD / 1Gbps 10TB доступными по уникально низкой цене — от $29 / месяц, доступны варианты с RAID1 и RAID10)Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?Dell R730xd в 2 раза дешевле?2 х Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 ТВ от $249 в Нидерландах и США!
Referrer-Policy
Браузеры автоматически добавляют в заголовки запросов при переходе на какой-то сайт ссылку на сайт с которого был совершен переход. Это очень удобно для аналитики. Например, не составит большого труда написать какой-то код, который составит для вас статистику со списком сайтов с которых посетители заходят на ваш сайт. Однако, если в стоке адреса на вашем сайте имеются запросы с какой-то конфиденциальной информацией, то очень желательным было бы скрыть эту информацию от других сайтов. Например: http://www.somegoodsite.com/Edit?id=34543276654
Для того чтобы скрыть вашу ссылку при переходе на чужой сайт можно установить заголовок со значением «Referrer-Policy: no-referrer»
Миф №1: шлюз безопасности
Безопасность веб-приложений отличается от безопасности сети, даже если не брать в расчет единую точку отказа UTM и его возможное влияние на время отклика и пропускную способность сети, и, как следствие, снижение доступности. Веб-приложения должны быть доступны всем, поэтому остается только разрешить весь входящий трафик на порты 80 (HTTP) и 443 (HTTPs) и надеяться, что все будут играть по правилам. Мониторинг сессий на наличие, идентификацию и блокирование исполняемого кода не заменяет анализ трафика веб-приложений, поэтому эксплуатация уязвимости посредством легитимного веб-запроса не составляет труда при наличии шлюза безопасности «всё в одном».
Самые страшные ошибки конфигурирования
Хранение строки подключения к базе данных
Если вы работаете в полноценном ASP.NET, то лучший вариант хранения строки подключения это web.config файл. Причем храните строку не в открытом виде, а в зашифрованном. Сделать это можно с помощью утилиты aspnet_regiis.exe Самый простой вариант — это запустить Developer Command Prompt в режиме администратора и выполнить команду
2 параметра команды это раздел который необходимо зашифровать (в данном случае connectionStrings) и путь к директории в которой находится файл web.config
Если вы работаете в ASP.NET Core, то вы можете использовать Secret Manager tool для хранения строк во время процесса разработки.
Никакого готового варианта для production для .NET Core пока что нет. Но если вы хостите приложение в Azure, то можете сохранить конфиденциальную информацию в параметрах приложения
При этом саму строку подключения вы можете вынести в отдельный файл. Из соображений безопасности этот файл лучше исключить из системы контроля версий.
Таким же образом можно вынести и конфиденциальные параметры:
В самом файле необходимо просто указать то содержимое, которое было бы использовано в качестве содержимого тегов.
Скрытие сообщений об ошибке
Возможно вы видели когда-либо «желтый экран смерти» с текстом кода, в котором возникла ошибка. Я не случайно поместил эту рекомендацию сразу после строки подключения. Тем нагляднее будет пример в котором злоумышленник может искусственным образом создать ошибку и получить какую-либо полезную для себя информацию. В идеальном случае это может быть строка подключения. Иногда даже мелочь может сократить время поиска уязвимостей сайта. Если у вас классическое приложение ASP.NET, то в web.config режим CustomErrors обязательно оставляем On или хотя бы RemoteOnly:
В ASP.NET Core можно разделить отображение для режима разработки и для продакшн с помощью NuGet пакета Microsoft.AspNetCore.Diagnostics. Например, для настройки отображения сообщения об ошибке в метод Configure класса StartUp можно добавить:
Еще несколько ошибок конфигурирования web.config
Если вдруг у вас в web.config случайно попали настройки трейсинга или дебага, то на продакшен сервере обязательно ставим значения false.
Для того, чтобы взломщик не смог получить доступ к файлу куки (скажем, с помощью XSS или каким-нибудь другим способом), необходимо чтобы значением следующего параметра было true
Broken Authentication and Session Management
Для хранения паролей и другой конфиденциальной информации используйте только стойкие хаши с salt. OWASP рекомендует Argon2, PBKDF2, scrypt and bcrypt.
Используйте Forms authentication только для интранет сайтов. Если вы хотите использовать аутентификацию в веб, то переходите на Identity.
Если вы уже используете Identity с ASP.NET Core приложением, то вы можете ограничить число попыток ввода пароля добавив в метод ConfigureServices файла Startup.cs следующий код:
Если вы разрешаете пользователю отредактировать какие-то его данные, то проверяйте редактирует ли он свои данные (помним о том, что полученным данным не стоит доверять):
Выводы
Если вы разрабатываете приложение, работаете над архитектурой приложения, то всегда надо иметь в виду, что интернет — это небезопасное место.
Нужно всегда помнить, что нельзя доверять пользовательскому вводу. Рассматривайте место, где пользователь вам что-то посылает, как потенциально вредоносное.
Нужно проверять свое приложение, потому что даже самый внимательный разработчик все равно когда-то ошибется, допустит у себя уязвимость, и проверка необходима — чем чаще, тем лучше.
Используйте универсальный пейлоад, помещайте его во все поля, в каждый input. Рано или поздно это сработает, потом уже научитесь раскручивать, успешно находить еще больше XSS, может быть, придумаете свои векторы атаки.
В любом приложении всегда есть уязвимости, в том числе XSS. Если вы ищете баги безопасности, вы не можете быть уверены, что их там нет. Возможно, вы просто не можете их найти, но они там есть. Используя такое убеждение, можно найти еще больше багов.