<rmcreative>

RSS

Все заметки с тегом «Безопасность»

  1. Yii 2 Conference 2016, Отчёт и материалы

    12 октября 2016

    24 сентября в Киеве, как и планировалось, прошла мини-конференция, докладчиками которой выступили члены команды Yii и Codeception. Всего было четыре доклада и довольно продолжительная сессия вопросов и ответов. Вышло отлично. И организаторы и докладчики большие молодцы. Аудитория тоже очень порадовала.

    Доклады получились интересными и писались на видео. Всем рекомендую.

    Читаем

    9 комментариев
  2. Видео моего доклада по безопасности с Deep Refactoring

    18 июля 2016

    В Воронеже несколько раз в месяц мы собираемся небольшой компанией, которую окрестили клубом «Deep Refactoring», рассказываем интересное из мира IT в виде доклада и горячо обсуждаем после. В начале месяца я рассказывал «Безопасность: от базовых принципов до особенностей PHP». Доклад я первый раз прочитал на английском в Стамбуле, затем на DevConf и последний раз в клубе.

    Слайды всё те же с DevConf, а вот рассказ отличается. Во-первых, рассказывал в небольшой компании, так что задавали вопросы по ходу и меняли ход рассказа. Во-вторых, дело было в пабе :)

    Слушайте на YouTube. Посмотреть особо не удастся. Темно.

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

    Комментировать
  3. mysql_real_escape_string() не защитит от SQL-инъекций

    7 марта 2016

    Вопреки древнему поверию, гласящему, что mysql_real_escape_string() защищает от SQL инъекций, функция этого не делает.

    Единственный, более-менее надёжный способ избежать SQL инъекций — использовать подготовленные запросы (prepared statements) с параметрами.

    18 комментариев
  4. Случайные байты, числа и UUID в PHP

    31 января 2016

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

    Пользуемся

    Комментировать
  5. Составные части хеш-строки bcrypt

    26 ноября 2015

    Хороший способ хранения данных для аутентификации — хеш-строки bcrypt. В PHP это реализуется при помощи crypt с алгоритмом blowfish. В более поздних версиях PHP — при помощи password_hash. В Yii для этого есть Security::generatePaswordHash(). Выглядит строка на выходе вот так:

    $2y$13$YUUgrko03UmNU/fe6gNcO.Hka4lrdRlkq0iJ5d4bv4fK.sKS.6jXu

    Длина в случае пароля всегда 60 символов.

    • 2y - версия алгоритма bcrypt. Мы используем blowfish, так что в новых версиях PHP должна быть всегда 2y.
    • 13 - cost. Стоимость вычислений. 2^13 итераций функции формирования ключа.
    • Оставшееся — конкатенированные соль и хеш, закодированные через base64 с немного нестандартным набором символов. Первые 22 символа — 16 байт соли. Оставшееся — хеш.

    При сравнении пароля bcrypt достаёт версию алгоритма, cost и соль из хеш-строки сохранённого пароля. Далее, используя их, вычисляет хеш нового пароля и сравнивает с сохранённым хешем.

    4 комментария
  6. Уязвимость dev/random и других UNIX-устройств под Windows

    20 октября 2015

    Разрабатывая код для PHP не забывайте про Windows.

    Скриншот подготовил thefsb.

    12 комментариев
  7. Перестаньте использовать mcrypt

    13 мая 2015

    Сегодня в очередной раз всплыла статья об распространённых ошибках при реализации шифрования. Сама по себе она ничего так, но местами учит плохому. А именно, использовать mcrypt.

    Почему его не стоит использовать

    mcrypt не обновлялся более десяти лет и не планирует. Авторы его забросили. В нём есть серьёзные недоработки.

    И что делать?

    Мы в Yii от него ушли в сторону OpenSSL, чего и вам советую. Реализовал переход, в основном, Tom Worster. У него есть серия интересных постов на тему.

    8 комментариев
  8. Проверяем и лечим ShellShock

    1 октября 2014

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

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

    sudo apt-get update && sudo apt-get install --only-upgrade bash
    
    4 комментария
  9. Yii 1.1.15 (исправление безопасности)

    30 июня 2014

    Вышел Yii 1.1.15, исправляющий проблему безопасности, найденную в 1.1.14. Более ранние версии не затронуты. Если вы используете его, следует обновиться. 1.1.15 полностью совместим с 1.1.14.

    Уязвимость затрагивает CDetailView. Если ваше приложение берёт значение value от пользователя, то атакующий имеет возможность выполнить произвольный PHP скрипт на вашем сервере. Мы не раскрываем подробностей сразу чтобы дать время обновиться. По нашим данным детали пока известны только основной команде разработчиков фреймворка.

    Уязвимости присвоен номер CVE-2014-4672.

    Забрать дистрибутив можно, как обычно, на yiiframework.com или обновиться через Composer.

    5 комментариев
  10. Идентификация пользователя без cookie, Storage, flash и Java

    21 августа 2013

    Нашёлся интересный способ идентифицировать пользователя без использования cookie, какого-либо браузерного Storage, flash или Java и работающий при отключенном JavaScript за VPN.

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

    Полное описание с примером

    3 комментария