Разработчики исправили серьезную уязвимость в 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");

Positive Technologies научила ИИ замечать подозрительные сценарии в коде

Positive Technologies сообщила о разработке нейросети MOLOT, предназначенной для поиска вредоносного кода в проектах на Python, JavaScript и TypeScript. Технология уже используется в составе анализатора исходного кода PT Application Inspector версии 6.0.

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

Нейросеть оценивает не отдельные фрагменты кода, а их совокупность и пытается определить, формируют ли они подозрительный сценарий.

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

 

По словам специалистов, именно поэтому многие подобные закладки остаются незамеченными при стандартных проверках безопасности.

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

 

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

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

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

Интерес к подобным инструментам растёт на фоне увеличения числа атак через цепочки поставок ПО, вредоносные пакеты в публичных репозиториях и распространения ИИ-инструментов для генерации программного кода.

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