Разработчики исправили серьезную уязвимость в OpenSSH

Разработчики исправили серьезную уязвимость в OpenSSH

Разработчики исправили серьезную уязвимость в OpenSSH

Уязвимость OpenSSH была обнаружена экспертом Михал Залевски (Michal Zalewski) в файле-исходнике sftp-server.c, она затрагивает версии OpenSSH с 5.5 по 7.6.

Как можно видеть в коде, приведенном ниже, если SFTP-сервер стартует с параметром –R, он будет включать переменную «readonly». Это означает, что клиентам не разрешено записывать операции.

 

 

 

 

int
sftp_server_main(int argc, char **argv, struct passwd *user_pw)
{
   ...
    while (!skipargs && (ch = getopt(argc, argv,
        "d:f:l:P:p:Q:u:cehR")) != -1) {
        switch (ch) {
    ...
        case 'R':
            readonly = 1;
            break;
    ...
}

Открытие файла для SFTP-сервера выполняется с помощью вспомогательной функции process_open(), которая открывает доступные только для чтения файлы:

static void
process_open(u_int32_t id)
{
    ...
    if (readonly &&
        ((flags & O_ACCMODE) == O_WRONLY ||
        (flags & O_ACCMODE) == O_RDWR) != 0)) {
        verbose("Refusing open request in read-only mode");
        status = SSH2_FX_PERMISSION_DENIED;
    } else {
        fd = open(name, flags, mode);
    ...
}

Здесь можно увидеть, что если «readonly» активирован, будет осуществляться проверка наличия «WRITE ONLY» или «READ/WRITE». Если это условие удовлетворено, будет выведена ошибка открытия файла в режиме read-only.

В противном случае файл будет открыт с использованием системного вызова open(). Залевски использовал эти параметры для создания произвольных read-only-файлов на SFTP-сервере. Чтобы исправить эту брешь, только для чтения. Чтобы исправить это, разработчики.

Код патча можно увидеть ниже:

if (readonly &&
-       ((flags & O_ACCMODE) == O_WRONLY ||
-       (flags & O_ACCMODE) == O_RDWR)) {
+       ((flags & O_ACCMODE) != O_RDONLY ||
+       (flags & (O_CREAT|O_TRUNC)) != 0)) {
        verbose("Refusing open request in read-only mode");

Сбер предложил собирать надёжные пароли в Змейке

На портале по киберграмотности «Кибрарий» появилась «Змейка», в которой вместо яблок нужно собирать символы для будущего пароля. Игровой тренажёр от «Сбера» доступен бесплатно и не требует регистрации. Правила простые: пользователь управляет змейкой и подбирает разбросанные по полю буквы, цифры и специальные знаки.

На всё даётся 90 секунд. Затем система проверяет получившуюся комбинацию и сообщает, соответствует ли она критериям надёжного пароля.

Разработчики предлагают использовать собранную строку для защиты учётных записей. Идея в том, что игра поможет получить более сложную и менее предсказуемую комбинацию, чем очередные qwerty, password или имя кота с годом рождения.

По оценкам экспертов, 60% паролей удаётся взломать в течение первого часа. Современные инструменты перебора работают не вслепую: они используют словари, популярные шаблоны и базы уже утёкших комбинаций. Поэтому человеческая оригинальность вроде замены буквы «о» на ноль давно никого не впечатляет, особенно алгоритмы.

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

Впрочем, победа в «Змейке» ещё не делает аккаунт неуязвимым. Один и тот же пароль нельзя ставить на разные сервисы, а хранить десятки уникальных комбинаций удобнее в менеджере паролей. Для важных учётных записей также стоит включить двухфакторную аутентификацию.

Получился генератор паролей для тех, кому обычные генераторы кажутся слишком скучными: сначала полторы минуты гоняешь змейку, потом защищаешь добычей аккаунт. Главное — не записывать результат на стикере у монитора.

RSS: Новости на портале Anti-Malware.ru