2 added
5 removed
Original
2026-01-01
Modified
2026-02-21
1
<p><a>#статьи</a></p>
1
<p><a>#статьи</a></p>
2
<ul><li>13 окт 2023</li>
2
<ul><li>13 окт 2023</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><p>Изучаем атаки и учимся от них защищаться по международным стандартам.</p>
4
</ul><p>Изучаем атаки и учимся от них защищаться по международным стандартам.</p>
5
<p>Иллюстрация: Colowgee / Stable Diffusion / Wikimedia Commnons / Cottonero / Freepik / Colowgee для Skillbox Media</p>
5
<p>Иллюстрация: Colowgee / Stable Diffusion / Wikimedia Commnons / Cottonero / Freepik / Colowgee для Skillbox Media</p>
6
<p>Пишет о сетях, инструментах для разработчиков и языках программирования. Любит готовить, играть в инди‑игры и программировать на Python.</p>
6
<p>Пишет о сетях, инструментах для разработчиков и языках программирования. Любит готовить, играть в инди‑игры и программировать на Python.</p>
7
<p>Некоммерческая организация<a>OWASP Foundation</a>выпускает рекомендации по обеспечению безопасности веб-приложений. На них ссылаются создатели основных стандартов кибербезопасности и такие организации, как<a>MITRE</a>,<a>PCI DSS</a>и <a>DISA</a>.</p>
7
<p>Некоммерческая организация<a>OWASP Foundation</a>выпускает рекомендации по обеспечению безопасности веб-приложений. На них ссылаются создатели основных стандартов кибербезопасности и такие организации, как<a>MITRE</a>,<a>PCI DSS</a>и <a>DISA</a>.</p>
8
<p>В этой статье расскажем о том, какие уязвимости попали в последний перечень OWASP - от 2021 года - и как предупредить их возникновение при разработке веб-приложений.</p>
8
<p>В этой статье расскажем о том, какие уязвимости попали в последний перечень OWASP - от 2021 года - и как предупредить их возникновение при разработке веб-приложений.</p>
9
<p><strong>OWASP</strong>(Open Web Application Security Project) - открытый проект по безопасности веб-приложений, созданный и поддерживаемый некоммерческой организацией OWASP Foundation.</p>
9
<p><strong>OWASP</strong>(Open Web Application Security Project) - открытый проект по безопасности веб-приложений, созданный и поддерживаемый некоммерческой организацией OWASP Foundation.</p>
10
<p>Эксперты организации каждые 3-4 года обновляют<strong>OWASP Top Ten</strong>- список критических уязвимостей веб-приложений. Он помогает разработчикам и специалистам по информационной безопасности создавать и поддерживать безопасные сайты и приложения.</p>
10
<p>Эксперты организации каждые 3-4 года обновляют<strong>OWASP Top Ten</strong>- список критических уязвимостей веб-приложений. Он помогает разработчикам и специалистам по информационной безопасности создавать и поддерживать безопасные сайты и приложения.</p>
11
<p>В <a>последней редакции</a>OWASP Top Ten названы следующие уязвимости:</p>
11
<p>В <a>последней редакции</a>OWASP Top Ten названы следующие уязвимости:</p>
12
<ul><li><a>нарушение контроля доступа</a>;</li>
12
<ul><li><a>нарушение контроля доступа</a>;</li>
13
<li><a>недочёты криптографии</a>;</li>
13
<li><a>недочёты криптографии</a>;</li>
14
<li><a>инъекции</a>;</li>
14
<li><a>инъекции</a>;</li>
15
<li><a>небезопасный дизайн</a>;</li>
15
<li><a>небезопасный дизайн</a>;</li>
16
<li><a>небезопасная конфигурация</a>;</li>
16
<li><a>небезопасная конфигурация</a>;</li>
17
<li><a>использование уязвимых или устаревших компонентов</a>;</li>
17
<li><a>использование уязвимых или устаревших компонентов</a>;</li>
18
<li><a>ошибки идентификации и аутентификации</a>;</li>
18
<li><a>ошибки идентификации и аутентификации</a>;</li>
19
<li><a>нарушения целостности программного обеспечения и данных</a>;</li>
19
<li><a>нарушения целостности программного обеспечения и данных</a>;</li>
20
<li><a>ошибки логирования и мониторинга безопасности</a>;</li>
20
<li><a>ошибки логирования и мониторинга безопасности</a>;</li>
21
<li><a>подделка запросов на стороне сервера</a>.</li>
21
<li><a>подделка запросов на стороне сервера</a>.</li>
22
</ul><p>Познакомимся с каждым видом уязвимостей и разберёмся, как их можно устранить.</p>
22
</ul><p>Познакомимся с каждым видом уязвимостей и разберёмся, как их можно устранить.</p>
23
<p>Это набор уязвимостей, при которых система плохо контролирует уровни доступа к информации или к своей функциональности. Из-за этого злоумышленники могут пользоваться функциями, к которым не должны иметь доступа.</p>
23
<p>Это набор уязвимостей, при которых система плохо контролирует уровни доступа к информации или к своей функциональности. Из-за этого злоумышленники могут пользоваться функциями, к которым не должны иметь доступа.</p>
24
<p>Представьте веб-приложение, где каждая учётная запись имеет разные права доступа. Если оно слабо защищено, злоумышленник может модифицировать запросы или параметры URL, чтобы получить доступ к данным, на которые у него нет права.</p>
24
<p>Представьте веб-приложение, где каждая учётная запись имеет разные права доступа. Если оно слабо защищено, злоумышленник может модифицировать запросы или параметры URL, чтобы получить доступ к данным, на которые у него нет права.</p>
25
<p>Такая уязвимость может привести к разглашению или утрате конфиденциальной информации, взлому учётных записей пользователей и нарушению целостности данных.</p>
25
<p>Такая уязвимость может привести к разглашению или утрате конфиденциальной информации, взлому учётных записей пользователей и нарушению целостности данных.</p>
26
<p><strong>Что делать:</strong></p>
26
<p><strong>Что делать:</strong></p>
27
<ul><li>Проектируйте контроль доступа на основе принципа наименьших привилегий. Пользователи должны иметь только те права, которые необходимы для выполнения их задач.</li>
27
<ul><li>Проектируйте контроль доступа на основе принципа наименьших привилегий. Пользователи должны иметь только те права, которые необходимы для выполнения их задач.</li>
28
<li>Проводите аутентификацию и авторизацию на всех уровнях приложения- и на серверной, и на клиентской стороне.</li>
28
<li>Проводите аутентификацию и авторизацию на всех уровнях приложения- и на серверной, и на клиентской стороне.</li>
29
<li>Регулярно проводите тестирование и аудит контроля доступа.</li>
29
<li>Регулярно проводите тестирование и аудит контроля доступа.</li>
30
</ul><p><strong>Чего не стоит делать:</strong></p>
30
</ul><p><strong>Чего не стоит делать:</strong></p>
31
<ul><li>Полагаться только на скрытие ссылок или кнопок в пользовательском интерфейсе для ограничения доступа. Это не предотвратит доступ к закрытой функциональности по прямым запросам.</li>
31
<ul><li>Полагаться только на скрытие ссылок или кнопок в пользовательском интерфейсе для ограничения доступа. Это не предотвратит доступ к закрытой функциональности по прямым запросам.</li>
32
<li>Доверять пользовательским входным данным при авторизации. Всегда следует проводить проверку на сервере.</li>
32
<li>Доверять пользовательским входным данным при авторизации. Всегда следует проводить проверку на сервере.</li>
33
<li>Оставлять прежней политику контроля доступа при изменении требований и бизнес-логики приложения.</li>
33
<li>Оставлять прежней политику контроля доступа при изменении требований и бизнес-логики приложения.</li>
34
</ul><p>Недостатки криптографии - это уязвимости, связанные с неправильной настройкой и использованием криптографических методов для защиты данных. К ним относят недостаточную длину ключей, ненадёжные условия их хранения, использование устаревших алгоритмов и другие ошибки в криптографической реализации.</p>
34
</ul><p>Недостатки криптографии - это уязвимости, связанные с неправильной настройкой и использованием криптографических методов для защиты данных. К ним относят недостаточную длину ключей, ненадёжные условия их хранения, использование устаревших алгоритмов и другие ошибки в криптографической реализации.</p>
35
<p>Слабая криптография - как картонный сейф: делает данные уязвимыми для атакующих, но создаёт иллюзию защищённости. Например, если веб-приложение использует устаревший и слабый алгоритм шифрования для защиты паролей пользователей, то хакер довольно быстро взломает его методом перебора. Но разработчики будут думать, что их система защищена.</p>
35
<p>Слабая криптография - как картонный сейф: делает данные уязвимыми для атакующих, но создаёт иллюзию защищённости. Например, если веб-приложение использует устаревший и слабый алгоритм шифрования для защиты паролей пользователей, то хакер довольно быстро взломает его методом перебора. Но разработчики будут думать, что их система защищена.</p>
36
<p><strong>Что делать:</strong></p>
36
<p><strong>Что делать:</strong></p>
37
<ul><li>Обновляйте и пересматривайте криптографические методы и ключи с учётом последних рекомендаций и стандартов.</li>
37
<ul><li>Обновляйте и пересматривайте криптографические методы и ключи с учётом последних рекомендаций и стандартов.</li>
38
<li>Храните криптографические ключи в надёжном месте. Избегайте их хранения вместе с кодом приложения или в открытом виде.</li>
38
<li>Храните криптографические ключи в надёжном месте. Избегайте их хранения вместе с кодом приложения или в открытом виде.</li>
39
</ul><p><strong>Чего не стоит делать:</strong></p>
39
</ul><p><strong>Чего не стоит делать:</strong></p>
40
<ul><li>Использовать устаревшие или слабые алгоритмы шифрования.</li>
40
<ul><li>Использовать устаревшие или слабые алгоритмы шифрования.</li>
41
<li>Реализовывать собственные криптографические методы, если вы не являетесь экспертом в этой области.</li>
41
<li>Реализовывать собственные криптографические методы, если вы не являетесь экспертом в этой области.</li>
42
<li>Хранить криптографические ключи в открытом виде или внутри кода приложения.</li>
42
<li>Хранить криптографические ключи в открытом виде или внутри кода приложения.</li>
43
</ul><p>Инъекция - это пользовательский ввод с вредоносным кодом. Чаще всего инъекции включают SQL-запросы и команды на языке оболочки операционной системы.</p>
43
</ul><p>Инъекция - это пользовательский ввод с вредоносным кодом. Чаще всего инъекции включают SQL-запросы и команды на языке оболочки операционной системы.</p>
44
<p>Инъекции позволяют злоумышленникам внедрять свой вредоносный код на сервер и выполнять его. Результат - потеря данных, кража данных или повреждение системы.</p>
44
<p>Инъекции позволяют злоумышленникам внедрять свой вредоносный код на сервер и выполнять его. Результат - потеря данных, кража данных или повреждение системы.</p>
45
<p>Представьте, что у компании есть база данных с информацией о клиентах. Если в форме ввода пользовательской информации - допустим, для обращения в службу поддержки - не установлена фильтрация и валидация вводимых данных, то злоумышленник может написать в ней обычный SQL-запрос и получить в ответ от сервера конфиденциальную информацию из базы клиентов.</p>
45
<p>Представьте, что у компании есть база данных с информацией о клиентах. Если в форме ввода пользовательской информации - допустим, для обращения в службу поддержки - не установлена фильтрация и валидация вводимых данных, то злоумышленник может написать в ней обычный SQL-запрос и получить в ответ от сервера конфиденциальную информацию из базы клиентов.</p>
46
<p><strong>Что делать:</strong></p>
46
<p><strong>Что делать:</strong></p>
47
<ul><li>Используйте параметризованные запросы или ORM (object-relational mapping) для работы с базой данных.</li>
47
<ul><li>Используйте параметризованные запросы или ORM (object-relational mapping) для работы с базой данных.</li>
48
<li>Валидируйте и фильтруйте входные данные. Принимайте только допустимые символы и структуры данных.</li>
48
<li>Валидируйте и фильтруйте входные данные. Принимайте только допустимые символы и структуры данных.</li>
49
<li>Применяйте принцип наименьших привилегий: ограничивайте права доступа к базе данных необходимыми.</li>
49
<li>Применяйте принцип наименьших привилегий: ограничивайте права доступа к базе данных необходимыми.</li>
50
<li>Используйте LIMIT и другие элементы управления SQL в запросах для предотвращения массового раскрытия записей в случае SQL-инъекции.</li>
50
<li>Используйте LIMIT и другие элементы управления SQL в запросах для предотвращения массового раскрытия записей в случае SQL-инъекции.</li>
51
</ul><p><strong>Чего не стоит делать:</strong></p>
51
</ul><p><strong>Чего не стоит делать:</strong></p>
52
<ul><li>Конкатенировать и вставлять непроверенные данные пользователя напрямую в SQL-запросы, команды операционной системы или другие исполняемые на сервере контексты.</li>
52
<ul><li>Конкатенировать и вставлять непроверенные данные пользователя напрямую в SQL-запросы, команды операционной системы или другие исполняемые на сервере контексты.</li>
53
<li>Надеяться на то, что фильтрация одного типа данных предотвратит инъекции. Злоумышленники могут использовать разные методы атак.</li>
53
<li>Надеяться на то, что фильтрация одного типа данных предотвратит инъекции. Злоумышленники могут использовать разные методы атак.</li>
54
<li>Хранить конфиденциальные данные в чистом тексте без шифрования в базе данных.</li>
54
<li>Хранить конфиденциальные данные в чистом тексте без шифрования в базе данных.</li>
55
</ul><p>Широкая категория уязвимостей, впервые появившаяся в последней версии OWASP Top Ten. Уязвимости этой категории возникают потому, что сама логика работы приложения может позволять использовать существующие функции для взлома.</p>
55
</ul><p>Широкая категория уязвимостей, впервые появившаяся в последней версии OWASP Top Ten. Уязвимости этой категории возникают потому, что сама логика работы приложения может позволять использовать существующие функции для взлома.</p>
56
<p>Например, в веб-приложение пользователи загружают файлы на сервер без их проверки. Злоумышленники могут использовать эту функцию и загрузить на сервер исполняемый файл с вредоносным кодом.</p>
56
<p>Например, в веб-приложение пользователи загружают файлы на сервер без их проверки. Злоумышленники могут использовать эту функцию и загрузить на сервер исполняемый файл с вредоносным кодом.</p>
57
<p><strong>Что делать:</strong></p>
57
<p><strong>Что делать:</strong></p>
58
<ul><li>Продумывайте аспекты безопасности на ранних этапах проектирования приложения.</li>
58
<ul><li>Продумывайте аспекты безопасности на ранних этапах проектирования приложения.</li>
59
<li>Оценивайте потенциальные угрозы и риски на этапе проектирования и разрабатывайте меры их предотвращения.</li>
59
<li>Оценивайте потенциальные угрозы и риски на этапе проектирования и разрабатывайте меры их предотвращения.</li>
60
<li>Обязательно моделируйте угрозы для критической аутентификации, контроля доступа, бизнес-логики и ключевых потоков в приложении.</li>
60
<li>Обязательно моделируйте угрозы для критической аутентификации, контроля доступа, бизнес-логики и ключевых потоков в приложении.</li>
61
<li>Ограничивайте количество ресурсов на сервере, которое выделяется на одного пользователя и на одну сессию.</li>
61
<li>Ограничивайте количество ресурсов на сервере, которое выделяется на одного пользователя и на одну сессию.</li>
62
</ul><p><strong>Чего не стоит делать:</strong></p>
62
</ul><p><strong>Чего не стоит делать:</strong></p>
63
<ul><li>Полагаться только на обеспечение безопасности на уровне кода. Безопасный дизайн важен для создания надёжной системы в целом.</li>
63
<ul><li>Полагаться только на обеспечение безопасности на уровне кода. Безопасный дизайн важен для создания надёжной системы в целом.</li>
64
<li>Разрабатывать систему, не учитывая возможные атаки на неё.</li>
64
<li>Разрабатывать систему, не учитывая возможные атаки на неё.</li>
65
</ul><p>Небезопасная конфигурация - это ситуация, когда настройки приложения, сервера, базы данных или других компонентов системы не являются безопасными. К этой группе уязвимостей относят ненадёжные или отсутствующие настройки аутентификации, авторизации и доступа.</p>
65
</ul><p>Небезопасная конфигурация - это ситуация, когда настройки приложения, сервера, базы данных или других компонентов системы не являются безопасными. К этой группе уязвимостей относят ненадёжные или отсутствующие настройки аутентификации, авторизации и доступа.</p>
66
<p>Предположим, что разработчик не закрыл доступ к административной панели приложения для пользователей без аутентификации или со стандартными настройками входа. Такое часто встречается у начинающих программистов. В этом случае злоумышленники легко могут взломать административную панель и изменить её настройки, подделать или украсть данные.</p>
66
<p>Предположим, что разработчик не закрыл доступ к административной панели приложения для пользователей без аутентификации или со стандартными настройками входа. Такое часто встречается у начинающих программистов. В этом случае злоумышленники легко могут взломать административную панель и изменить её настройки, подделать или украсть данные.</p>
67
<p><strong>Что делать:</strong></p>
67
<p><strong>Что делать:</strong></p>
68
<ul><li>Проводите безопасную настройку всех компонентов приложения и инфраструктуры, следуя рекомендациям и стандартам безопасности.</li>
68
<ul><li>Проводите безопасную настройку всех компонентов приложения и инфраструктуры, следуя рекомендациям и стандартам безопасности.</li>
69
<li>Продумайте и поддерживайте политику настройки доступов.</li>
69
<li>Продумайте и поддерживайте политику настройки доступов.</li>
70
<li>Отключайте или удаляйте ненужные функции и службы на сервере, чтобы сократить возможный спектр атак.</li>
70
<li>Отключайте или удаляйте ненужные функции и службы на сервере, чтобы сократить возможный спектр атак.</li>
71
-
<li>Реализуйте автоматизированный процесс проверки эффективности конфигураций �� настроек во всех средах.</li>
71
+
<li>Реализуйте автоматизированный процесс проверки эффективности конфигураций и настроек во всех средах.</li>
72
<li>Регулярно проверяйте настройки на наличие уязвимостей.</li>
72
<li>Регулярно проверяйте настройки на наличие уязвимостей.</li>
73
</ul><p><strong>Чего не стоит делать:</strong></p>
73
</ul><p><strong>Чего не стоит делать:</strong></p>
74
<ul><li>Оставлять дефолтные пароли, настройки или ключи. Обязательно меняйте их на уникальные и сложные.</li>
74
<ul><li>Оставлять дефолтные пароли, настройки или ключи. Обязательно меняйте их на уникальные и сложные.</li>
75
<li>Оставлять включёнными даже те функции и службы, что кажутся избыточными.</li>
75
<li>Оставлять включёнными даже те функции и службы, что кажутся избыточными.</li>
76
<li>Полагаться только на документацию по установке. Проверяйте и дорабатывайте настройки с учётом текущих требований безопасности.</li>
76
<li>Полагаться только на документацию по установке. Проверяйте и дорабатывайте настройки с учётом текущих требований безопасности.</li>
77
</ul><p>К этому типу уязвимостей относят случаи, когда веб-приложение использует сторонние фреймворки, библиотеки, плагины или другие компоненты, которые имеют выявленные дефекты безопасности.</p>
77
</ul><p>К этому типу уязвимостей относят случаи, когда веб-приложение использует сторонние фреймворки, библиотеки, плагины или другие компоненты, которые имеют выявленные дефекты безопасности.</p>
78
<p>У злоумышленников даже есть автоматизированные инструменты, которые помогают находить непропатченные или неправильно сконфигурированные системы. Например, поисковая система Shodan IoT ищет устройства, которые страдают от уязвимости Heartbleed, исправленной в апреле 2014 года. Удивительно, но они встречаются и в 2023 году.</p>
78
<p>У злоумышленников даже есть автоматизированные инструменты, которые помогают находить непропатченные или неправильно сконфигурированные системы. Например, поисковая система Shodan IoT ищет устройства, которые страдают от уязвимости Heartbleed, исправленной в апреле 2014 года. Удивительно, но они встречаются и в 2023 году.</p>
79
<p><strong>Что делать:</strong></p>
79
<p><strong>Что делать:</strong></p>
80
<ul><li>Регулярно обновляйте используемые компоненты. Следите за выпуском обновлений и исправлений, касающихся безопасности компонентов.</li>
80
<ul><li>Регулярно обновляйте используемые компоненты. Следите за выпуском обновлений и исправлений, касающихся безопасности компонентов.</li>
81
<li>Удаляйте неиспользуемые зависимости, ненужные функции, компоненты и файлы.</li>
81
<li>Удаляйте неиспользуемые зависимости, ненужные функции, компоненты и файлы.</li>
82
<li>Используйте источники, которые предоставляют информацию о безопасности компонентов:<a>OWASP Dependency-Check</a>,<a>Retire.js</a>и другие.</li>
82
<li>Используйте источники, которые предоставляют информацию о безопасности компонентов:<a>OWASP Dependency-Check</a>,<a>Retire.js</a>и другие.</li>
83
</ul><p><strong>Чего не стоит делать:</strong></p>
83
</ul><p><strong>Чего не стоит делать:</strong></p>
84
<ul><li>Использовать устаревшие компоненты без обновления.</li>
84
<ul><li>Использовать устаревшие компоненты без обновления.</li>
85
<li>Игнорировать предупреждения о безопасности, которые касаются используемых компонентов.</li>
85
<li>Игнорировать предупреждения о безопасности, которые касаются используемых компонентов.</li>
86
</ul><p>Слабые пароли, недостаточная проверка подлинности, неэффективные системы учёта сеансов - всё это OWASP относит к ошибкам идентификации и аутентификации.</p>
86
</ul><p>Слабые пароли, недостаточная проверка подлинности, неэффективные системы учёта сеансов - всё это OWASP относит к ошибкам идентификации и аутентификации.</p>
87
<p>Предположим, что веб-приложение допускает слабые пароли, такие как "123456", "admin" или "qwerty". Злоумышленник может легко взломать аккаунт, угадав такой пароль или просто перебрав варианты.</p>
87
<p>Предположим, что веб-приложение допускает слабые пароли, такие как "123456", "admin" или "qwerty". Злоумышленник может легко взломать аккаунт, угадав такой пароль или просто перебрав варианты.</p>
88
<p>Сюда же относятся:</p>
88
<p>Сюда же относятся:</p>
89
<ul><li>незащищённые способы восстановления паролей - например, подходы на основе знаний, когда человек должен ответить на секретный вопрос;</li>
89
<ul><li>незащищённые способы восстановления паролей - например, подходы на основе знаний, когда человек должен ответить на секретный вопрос;</li>
90
<li>отсутствие многофакторной авторизации;</li>
90
<li>отсутствие многофакторной авторизации;</li>
91
<li>раскрытие идентификатора сессии в URL.</li>
91
<li>раскрытие идентификатора сессии в URL.</li>
92
</ul><p><strong>Что делать:</strong></p>
92
</ul><p><strong>Что делать:</strong></p>
93
<ul><li>Используйте сильные механизмы аутентификации, такие как двухфакторная аутентификация.</li>
93
<ul><li>Используйте сильные механизмы аутентификации, такие как двухфакторная аутентификация.</li>
94
<li>Требуйте от пользователей создавать пароли с высокой устойчивостью к взлому, включающие в себя не только буквы, но и другие символы.</li>
94
<li>Требуйте от пользователей создавать пароли с высокой устойчивостью к взлому, включающие в себя не только буквы, но и другие символы.</li>
95
<li>Не раскрывайте идентификаторы сессии в URL-адресе.</li>
95
<li>Не раскрывайте идентификаторы сессии в URL-адресе.</li>
96
<li>Блокируйте аккаунты после определённого количества неудачных попыток входа.</li>
96
<li>Блокируйте аккаунты после определённого количества неудачных попыток входа.</li>
97
</ul><p><strong>Чего не стоит делать:</strong></p>
97
</ul><p><strong>Чего не стоит делать:</strong></p>
98
<ul><li>Разрешать пользователям использовать слабые пароли или пароли по умолчанию.</li>
98
<ul><li>Разрешать пользователям использовать слабые пароли или пароли по умолчанию.</li>
99
<li>Хранить пароли пользователей в открытом виде в базе данных. Храните хеши паролей<a>с солью</a>.</li>
99
<li>Хранить пароли пользователей в открытом виде в базе данных. Храните хеши паролей<a>с солью</a>.</li>
100
</ul><p>К этой группе уязвимостей относят случаи, когда после обновления приложение или оборудование начинает работать неправильно. Например, роутер после обновления прошивки не требует пароля для подключения или сбрасывает его до заводского.</p>
100
</ul><p>К этой группе уязвимостей относят случаи, когда после обновления приложение или оборудование начинает работать неправильно. Например, роутер после обновления прошивки не требует пароля для подключения или сбрасывает его до заводского.</p>
101
<p><strong>Что делать:</strong></p>
101
<p><strong>Что делать:</strong></p>
102
-
<ul><li>Используйте проверку целостности данных, используя хеши и цифровые подписи для обнаружения несанкционированных изменений.</li>
102
+
<ul><li>Используйте проверку целостности данных, ис��ользуя хеши и цифровые подписи для обнаружения несанкционированных изменений.</li>
103
<li>Ограничивайте доступ и возможность изменения данных для неавторизованных пользователей.</li>
103
<li>Ограничивайте доступ и возможность изменения данных для неавторизованных пользователей.</li>
104
<li>Внедряйте подробные журналы и мониторинг подозрительной активности, чтобы сохранять информацию о совершаемых пользователями действиях.</li>
104
<li>Внедряйте подробные журналы и мониторинг подозрительной активности, чтобы сохранять информацию о совершаемых пользователями действиях.</li>
105
</ul><p><strong>Чего не стоит делать:</strong></p>
105
</ul><p><strong>Чего не стоит делать:</strong></p>
106
<ul><li>Хранить критически важные данные в открытом виде или без требования авторизации.</li>
106
<ul><li>Хранить критически важные данные в открытом виде или без требования авторизации.</li>
107
<li>Выдавать всем пользователям полные права на изменение данных. Всегда используйте принцип наименьших привилегий, выдавая только действительно необходимые права.</li>
107
<li>Выдавать всем пользователям полные права на изменение данных. Всегда используйте принцип наименьших привилегий, выдавая только действительно необходимые права.</li>
108
<li>Игнорировать предупреждения системы мониторинга о подозрительной активности. Реагируйте на них своевременно.</li>
108
<li>Игнорировать предупреждения системы мониторинга о подозрительной активности. Реагируйте на них своевременно.</li>
109
</ul><p>Это уязвимости, при которых система неправильно регистрирует аномальные события, касающиеся безопасности. К ним также относят отсутствие или неправильную настройку механизмов логирования и отсутствие уведомлений о подозрительных событиях.</p>
109
</ul><p>Это уязвимости, при которых система неправильно регистрирует аномальные события, касающиеся безопасности. К ним также относят отсутствие или неправильную настройку механизмов логирования и отсутствие уведомлений о подозрительных событиях.</p>
110
<p>Если в системе отсутствует мониторинг безопасности, то атаки злоумышленников могут остаться незамеченными. Это снижает вероятность быстрой реакции на возникающие инциденты, обнаружение угроз и определение их источников.</p>
110
<p>Если в системе отсутствует мониторинг безопасности, то атаки злоумышленников могут остаться незамеченными. Это снижает вероятность быстрой реакции на возникающие инциденты, обнаружение угроз и определение их источников.</p>
111
<p>Предположим, что веб-приложение не регистрирует попытки неудачной аутентификации. Злоумышленник пытается многократно взломать аккаунт пользователя или администратора, а разработчик не замечает этого - система не фиксирует такие попытки.</p>
111
<p>Предположим, что веб-приложение не регистрирует попытки неудачной аутентификации. Злоумышленник пытается многократно взломать аккаунт пользователя или администратора, а разработчик не замечает этого - система не фиксирует такие попытки.</p>
112
<p><strong>Что делать:</strong></p>
112
<p><strong>Что делать:</strong></p>
113
<ul><li>Внедрите механизмы логирования для регистрации важных событий, таких как попытки аутентификации, изменения в конфигурации и доступе к чувствительным данным.</li>
113
<ul><li>Внедрите механизмы логирования для регистрации важных событий, таких как попытки аутентификации, изменения в конфигурации и доступе к чувствительным данным.</li>
114
<li>Установите систему мониторинга, которая анализирует логи на наличие подозрительной активности и уведомляет вас об инцидентах.</li>
114
<li>Установите систему мониторинга, которая анализирует логи на наличие подозрительной активности и уведомляет вас об инцидентах.</li>
115
<li>Определите чёткие процедуры реагирования на инциденты и оповещения и обязательно расскажите о них всей команде.</li>
115
<li>Определите чёткие процедуры реагирования на инциденты и оповещения и обязательно расскажите о них всей команде.</li>
116
</ul><p><strong>Чего не стоит делать:</strong></p>
116
</ul><p><strong>Чего не стоит делать:</strong></p>
117
<ul><li>Оставлять логирование без внимания. Регулярно анализируйте логи для выявления аномальных событий.</li>
117
<ul><li>Оставлять логирование без внимания. Регулярно анализируйте логи для выявления аномальных событий.</li>
118
<li>Обходиться без мониторинга. Обязательно убедитесь, что система мониторинга активна и правильно настроена.</li>
118
<li>Обходиться без мониторинга. Обязательно убедитесь, что система мониторинга активна и правильно настроена.</li>
119
<li>Использовать только автоматические уведомления о состоянии системы. Регулярно вручную проверяйте состояние системы и логов.</li>
119
<li>Использовать только автоматические уведомления о состоянии системы. Регулярно вручную проверяйте состояние системы и логов.</li>
120
</ul><p>Подделка запросов на стороне сервера (server-side request forgery, SSRF) - это тип уязвимости, при котором злоумышленник заставляет сервер отправлять запросы к внутренним ресурсам или внешним сайтам.</p>
120
</ul><p>Подделка запросов на стороне сервера (server-side request forgery, SSRF) - это тип уязвимости, при котором злоумышленник заставляет сервер отправлять запросы к внутренним ресурсам или внешним сайтам.</p>
121
<p>SSRF часто используется злоумышленниками для обнаружения и атаки внутренних ресурсов, к которым они обычно не имеют доступа извне. Представьте веб-приложение, которое выполняет HTTP-запросы к внешним URL-адресам на основе пользовательского ввода. Если сервер слабо защищён от SSRF, злоумышленник может ввести зловредный URL, который заставит сервер отправить запрос ко внутреннему серверу с базой данных, и получить оттуда данные.</p>
121
<p>SSRF часто используется злоумышленниками для обнаружения и атаки внутренних ресурсов, к которым они обычно не имеют доступа извне. Представьте веб-приложение, которое выполняет HTTP-запросы к внешним URL-адресам на основе пользовательского ввода. Если сервер слабо защищён от SSRF, злоумышленник может ввести зловредный URL, который заставит сервер отправить запрос ко внутреннему серверу с базой данных, и получить оттуда данные.</p>
122
<p><strong>Что делать:</strong></p>
122
<p><strong>Что делать:</strong></p>
123
<ul><li>Ограничивайте или фильтруйте пользовательский ввод, который используется для формирования запросов.</li>
123
<ul><li>Ограничивайте или фильтруйте пользовательский ввод, который используется для формирования запросов.</li>
124
<li>Используйте белый список (whitelist) разрешённых адресов, на которые сервер может отправлять запросы.</li>
124
<li>Используйте белый список (whitelist) разрешённых адресов, на которые сервер может отправлять запросы.</li>
125
<li>Ограничьте и контролируйте доступ сервера к внутренним ресурсам.</li>
125
<li>Ограничьте и контролируйте доступ сервера к внутренним ресурсам.</li>
126
</ul><p><strong>Чего не стоит делать:</strong></p>
126
</ul><p><strong>Чего не стоит делать:</strong></p>
127
<ul><li>Доверять непроверенным или неконтролируемым URL-адресам, переданным пользователем.</li>
127
<ul><li>Доверять непроверенным или неконтролируемым URL-адресам, переданным пользователем.</li>
128
<li>Открывать доступ сервера к внутренним ресурсам без проверки.</li>
128
<li>Открывать доступ сервера к внутренним ресурсам без проверки.</li>
129
<li>Использовать пользовательский ввод напрямую для формирования запросов на стороне сервера.</li>
129
<li>Использовать пользовательский ввод напрямую для формирования запросов на стороне сервера.</li>
130
</ul><p>Перечисленные топ-10 уязвимостей OWASP опубликовал осенью 2021 года. Следите за обновлениями и рекомендациями сообщества на <a>официальном сайте</a>и помните - абсолютной защиты от хакерских атак не бывает.</p>
130
</ul><p>Перечисленные топ-10 уязвимостей OWASP опубликовал осенью 2021 года. Следите за обновлениями и рекомендациями сообщества на <a>официальном сайте</a>и помните - абсолютной защиты от хакерских атак не бывает.</p>
131
-
<p>Кибербезопасность с нуля: взламываем и защищаем серверы за 5 дней</p>
132
-
<p>Погрузитесь в востребованную профессию специалиста по кибербезопасности. Научитесь защищать веб-серверы, перехватывать пароли, подделывать письма и обезвреживать вредоносное ПО.</p>
133
-
<p><a>Пройти бесплатно</a></p>
134
<a><b>Бесплатный курс по кибербезопасности</b>Пройдите курс и узнайте реальные техники взлома и защиты веб-серверов. Решите 3 практические задачи и получите ценные подарки. Пройти курс →</a>
131
<a><b>Бесплатный курс по кибербезопасности</b>Пройдите курс и узнайте реальные техники взлома и защиты веб-серверов. Решите 3 практические задачи и получите ценные подарки. Пройти курс →</a>