PIG DATA

Разработчики Python обязаны следовать этим практикам безопасности

Кодирование — это больше, чем разработка программы. Что делать, если сгенерированный вами код уязвим для кражи и несанкционированного проникновения? Защита конфиденциальных данных так же важна, как и разработка предпочтительного приложения, поскольку украденные данные так же опасны, как вредоносное ПО.

В силу своей популярности больше шансов, что слабая программа на Python станет причиной нарушения безопасности.

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

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

Чаще обновляйте версию Python

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

Будьте осторожны при обмене

Когда разработчик извлекает проект из ресурса сообщества Python Package Index (PyPI), есть вероятность, что он содержит уязвимости и ошибки. PyPI дает сопровождающим пакетов возможность подписывать свои материалы, чтобы пользователи могли проверить целостность загрузки. Однако тот факт, что пакеты в PyPI не проходят проверку безопасности, должен настораживать.

Убедитесь, что входы продезинфицированы

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

Используйте подготовленные операторы

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

Переходите на виртуальную среду для программирования на Python

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

Не делитесь своими секретами

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

Пусть пользователи видят только то, что им нужно

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

Bandit сканирует лучше всех

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

Обновите свой сервер

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

Python, разработка, безопасность
234 просмотра

0 комментариев
Последние

Натисніть на зображення, щоб оновити код, якщо він нерозбірливий
Комментариев пока нет
PIG DATA
Community о Хрюшах, событиях, технологиях и IT. Создан для людей и маленьких Хрюшек.