HTML Diff
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>