Тысячи анкет с фотографиями

Знакомства

Найди свою любовь

Игры

Игры

Онлайн флеш игры

временная фотография

Из Олайне...

Новости мира открытых систем

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


Серия критических уязвимостей в гипервизоре Xen


В гипервизоре Xen выявлено 10 уязвимостей, из которых пять (XSA-224, XSA-222, XSA-219, XSA-218, XSA-217) потенциально позволяют выйти за пределы текущего гостевого окружения, две (XSA-225, XSA-223) дают возможность инициировать крах гипервизора из гостевой системы, а три уязвимости (XSA-221, XSA-220, XSA-216) могут привести к утечке содержимого памяти из адресного пространства других окружений или хост-системы.

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

Особенности некоторых проблем:

  • XSA-224 - владелец гостевой системы в режиме паравиртуализации (PV) может получить доступ на запись в таблицу страниц памяти, связанных с его окружением. В итоге атакующий может получить доступ к системной памяти и поднять свои привилегии до уровня хост-системы. Проблеме подвержены только конфигурации на базе архитектуры x86, в которых используются гостевые системы в режиме PV. HVM-системы уязвимы только в случае использования узявимых PV-бэкендов, в которых используется вызов calls grant_map() с флагами GNTMAP_device_map и GNTMAP_host_map;
  • XSA-222 - из гостевого окружения можно получить доступ к памяти, не принадлежащей данному окружению из-за ошибки в организации повторного использования таблиц маппинга P2M (Physical-to-Machine), что потенциально может быть использовано для повышения своих привилегий (контроль за хост-системой) или привести к утечке данных от других окружений. Проблеме подвержены конфигурации Xen на базе архитектур x86 и ARM, но на x86 атака возможна только против окружений в режиме полной виртуализации (HVM). Для защиты можно указать в настройках HVM "hap_1gb=0 hap_2mb=0";
  • XSA-219 - при наличии одновременного контроля за двумя гостевыми системами, атакующий может получить доступ к хост-системе. Проблеме подвержены только системы x86. Для успешной атаки необходим доступ к окружениям HVM с поддержкой Shadow Mode Paging (в настройках "hap=0"). HVM-окружения в режиме Hardware Assisted Paging (HAP, в настройках "hap=1") проблеме не подвержены. Для атаки необходим одновременный доступ к PV-окружению и HVM-окружению, но теоретически не исключается возможность совершения атаки, при контроле за одним гостевым окружением в режиме полной вирутализации (HVM).
  • XSA-218 - состояние гонки, позволяющее в короткие моменты времени из подконтрольного злоумышленнику бэкенда прочитать или записать содержимое памяти чужого фронтэнда. В зависимости от ситуации уязвимость может использоваться для организации утечки конфеденциальных данных или повышения своих привилегий на стороне фронтэнда. Кроме того, отмечается ещё одна проблема, позволяющая непривилегированной гостевой системе из-за состояния гонки дважды очистить запись maptrack, что теоретически не исключает развитие атаки для выполнения кода на стороне хост-системы.
  • XSA-217 - при наличии контроля за двумя гостевыми системами можно получить доступ ко всей системной памяти, что может использоваться для повышения своих привилегий и организации утечки данных из хост-системы или других гостевых систем. Проблеме подвержены только системы x86 при наличии у атакующего контроля за двумя гостевыми системами в режиме PV и HVM (контроля за двумя PV или за двумя HVM недостаточно, для атаки необходим одновременный доступ и к PV и к HVM).
  • XSA-216 - утечка отрывков содержимого стека бэкенда через Linux-драйверы xen-blkback, blkback и blktap, используемые для доступа к блочным устройствам. Уязвимость позволяет непривилегированному гостевому окружению получить доступ к отрывкам конфиденциальной информации из хост-системы или другого гостевого окружения (речь про отрывки данных, оставленные бэкендом в полях добавочного заполнения (padding), неочищенные после прошлого запроса).


Источник: http://www.opennet.ru/opennews/art.shtml?num=46743

Выпуск http-сервера Apache 2.4.26 с полноценной поддержкой HTTP/2


Доступен релиз HTTP-сервера Apache 2.4.26, в котором представлено 63 изменения, 22 из которых связаны с исправлениями в модуле mod_http2.

Из изменений можно отметить:

  • C модуля mod_http2 снята метка экспериментальной разработки, реализация протокола HTTP/2 отныне признана готовой для повсеместного применения;
  • Добавлен новый модуль mod_brotli для сжатия с использованием алгоритма Brotli (RFC 7932);
  • В файле конфигурации обеспечено выполнение вложенных блоков If/ElseIf/Else;
  • В mod_lua добавлена поддержка Lua 5.3;
  • Изменено поведение mod_rewrite: если подстановка является полным URL, а схема/хост/порт совпадают с текущим виртуальным хостом, то компонент пути в URL больше не интерпретируется как локальный путь, если он присутствует в файловой системе. Для возвращения старого поведения добавлена опция "RewriteOption LegacyPrefixDocRoot";
  • В mod_rewrite добавлен флаг 'BNP' (backreferences-no-plus), включающий замену пробелов в обратных ссылках RewriteRule на "%20" вместо "+";
  • В mod_rewrite добавлена возможность ограничения экранирования определённых символов через указание их в флаге "B";
  • В mod_env добавлен вывод предупреждения для директивы 'SetEnv', если в имени переменной окружения указан символ '=';
  • В mod_proxy_http2 добавлена поддержка заголовков Reverse Proxy Request;
  • В mod_proxy_fcgi добавлена директива ProxyFCGISetEnvIf для изменения переменных окружения CGI на стадии до вызова FastCGI;
  • В mod_proxy разрешено применение переменной окружения "no-proxy" в качестве альтернативы выражению "ProxyPass /path !";
  • В mod_proxy_fcgi возвращено старое поведение (2.4.20), оставляющее префикс "proxy:fcgi://" в переменной окружения SCRIPT_FILENAME;
  • В mod_proxy_http2 добавлена директива ProxyPreserverHost;
  • В mod_proxy_wstunnel добавлен параметр "upgrade", разрешающий обновление до другого протокола;
  • Проведена работа по увеличению производительности, качества буферизации и динамического регулирования потоком в mod_http2;
  • В mod_http2 директива MaxKeepAliveRequests теперь ограничивает число повторных использований slave-соединений;
  • В mod_http2 добавлена поддержка директивы MergeTrailers;
  • В mod_autoindex добавлена опция "IndexOptions UseOldDateFormat", позволяющая использовать формат Last Modified как в Apache 2.2;
  • В парсер выражений добавлена подстановка %{REMOTE_PORT};
  • Во вложенных SSI-выражениях подстановка %{DOCUMENT_URI} теперь всегда указывает на URI оригинального запроса, а не на URI вложенного документа;
  • В mod_ssl добавлена поддержка OpenSSL 1.1.0;
  • Устранено 5 уязвимостей:
    • CVE-2017-3167 - обход аутентификации при использовании ap_get_basic_auth_pw() в сторонних модулях;
    • CVE-2017-3169 - инициирование краха через отправку запроса HTTPS из-за разыменования нулевого указателя в mod_ssl;
    • CVE-2017-7659 - инициирование краха через отправку запроса HTTP/2 из-за разыменования нулевого указателя в mod_http2;
    • CVE-2017-7668 - чтение вне границ буфера в функции ap_find_token() может привести к краху при обработке специально оформленных заголовков запроса;
    • CVE-2017-7679 - чтение вне границ буфера в mod_mime может привести к чтению байта из области за пределами выделенного буфера при обработке специально оформленного заголовка Content-Type. Интересно, что о проблеме было сообщено ещё в ноябре 2015 года, а исправление внесено только сейчас.


    Источник: http://www.opennet.ru/opennews/art.shtml?num=46741

    В состав GCC одобрено включение языка программирования D


    Разработчики коллекции компиляторов GCC объявили о принятии решения по включению в число поставляемых в составе GCC компиляторов фронтэнда GDC (Gnu D Compiler) и runtime-компонентов, необходимых для сборки программ на языке программирования D.

    Процесс включения поддержки языка D в GCC начался ещё в 2011 году, но затянулся из-за необходимости приведения кода к соответствию требованиям GCC и проблем с передачей прав на интеллектуальную собственность компании Digital Mars, развивающей язык программирования D. Проблемы с интеллектуальной собственностью были достаточно быстро решены, но для решения технических проблем и синхронизации разработки с компилятором DMD потребовалось почти полностью переписать GDC.

    Язык D использует статическую типизацию, обладает синтаксисом, схожим с C/C++, и обеспечивает производительность компилируемых языков, при этом заимствуя некоторые полезные возможности динамических языков в области эффективности разработки и обеспечения безопасности. Например, предоставляется поддержка ассоциативных массивов, косвенное определение типов, автоматическое управление памятью, средства параллельного программирования, опциональный сборщик мусора, система шаблонов, компоненты для метапрограммирования, возможность использовать библиотеки на языке C, а также некоторые библиотеки на C++ и Objective-C.

    Источник: http://www.opennet.ru/opennews/art.shtml?num=46739

    Уязвимость в OpenVPN, которая может привести к выполнению кода на сервере


    Гвидо Вренкен (Guido Vranken), известный разработкой нескольких атак против различных реализаций SSL/TLS, опубликовал результаты fuzzing-тестирования кодовой базы пакета для создания виртуальных частных сетей OpenVPN, в результате которого им было выявлено 4 опасные уязвимости и две неопасные. Одна из уязвимостей потенциально может привести к выполнению кода на сервере.

    Публикация сведений об уязвимостях скоординирована с разработчиками OpenVPN, благодаря чему уже опубликованы релизы OpenVPN 2.4.3 и 2.3.17, в которых устранены выявленные проблемы. При этом в дистрибутивах уязвимости пока остаются неисправлеными (Debian, RHEL, SUSE, Fedora, Ubuntu). Интересно, что незадолго до выявления уязвимостей, проект OpenVPN успешно прошёл два независимых аудита кодовой базы, которые не выявили данных проблем.

    Наиболее опасная уязвимость (CVE-2017-7521) проявляется на серверах, использующих опцию "--x509-alt-username" и соответствующее расширение сертификата X.509. Аутентифицированный клиент, имеющий возможность подключения к серверу OpenVPN, может вызвать ситуацию двойного освобождения области памяти (double free), которая потенциально может быть эксплуатирована для организации выполнения кода на сервере. Для успешной эксплуатации требуется добиться, чтобы функция ASN1_STRING_to_UTF8() при вызове из extract_x509_extension() вернула значение False, что по предварительной оценке возможно при условии исчерпания доступной процессу памяти.

    Другие уязвимости:

    • CVE-2017-7508 - возможность удалённо завершить работу сервера или клиента через отправку специально оформленного пакета IPv6. Проблема проявляется при включении опции "--mssfix";
    • CVE-2017-7512 - серия проблем в коде разбора сертификатов OpenSSL, вызванных утечкой нескольких байт памяти при обработке каждой попытки соединения. Сгенерировав большое число запросов, можно вызвать исчерпание всей доступной серверному процессу памяти и вызвать крах или подготовить условия для эксплуатации уязвимости CVE-2017-7521;
    • CVE-2017-7520 - возможность удалённого краха клиентского ПО или утечки информации со стороны клиента на стадии до проведения аутентификации (можно прочитать 96 лишних байт стека, которые вполне могут содержать пароль к прокси). Проблема вызвана возможностью чтения из области памяти вне границ буфера и проявляется в системах применяющих опцию "--http-proxy" совместно с аутентификацией через ntlm2. Эксплуатация может быть совершена путём модификации трафика в ходе MITM-атаки между клиентом и прокси;
    • CVE-2017-7522 - возможность вызова краха сервера, использующего опцию "--x509-track", при передаче аутентифицированным клиентом сертификата с нулевым символом в строке ASN.1. Проблема проявляется в конфигурациях, собранных с библиотекой mbed TLS/PolarSSL . Атака маловероятна так как требуется наличие заверенного удостоверяющим центром сертификата с нулевым символом;
    • Разыменование нулевого указателя в функции establish_http_proxy_passthru(), которое может быть использовано для инициирования краха клиента в случае незаполнения сервером полей 'realm' и 'nonce'.


    Источник: http://www.opennet.ru/opennews/art.shtml?num=46738

    Доступен аудиокодек Opus 1.2


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

    Ключевые новшества Opus 1.2:

    • Проведена работа по увеличению качества передачи голоса в диапазоне полосы пропускания 12-20 kbit/s. Значительно улучшена реализация гибридного режима передачи голоса, при котором для частот до 8 kHz применяется SILK, а с 8 до 20 kHz - CELT. Для повышения качества передачи голоса проведена настройка психоакустических методов. Обеспечено агрессивное занятие более широкой полосы пропускания при передаче голоса, включая начало передачи с битрейтом 14 kbit/s;
    • Улучшена реализация кодирования с переменным битрейтом (VBR) для гибридных режимов, кодировщик теперь использует VBR и для низких битрейтов, вплоть до 32 kb/s;
    • Проведена работа по увеличению качества передачи музыки в диапазоне битрейта 32-48 kbit/s. Если изначально Opus обеспечивал приемлемое качество только для битрейтов 64 kb/s и 96 kb/s, то применение улучшенной техники кодирования с переменным битрейтом позволило добиться возможности кодирования музыки с битретеми 32-48 kbit/s без возникновения слышимых артефактов;
    • Проведена обширная оптимизация, которая позволила снизить нагрузку на CPU и увеличить производительность. Внесены как общие оптимизации качества кода, так и задействованы специфичные процессорные инструкции SSE* для x86 и Neon для ARM. Улучшение качества кода определения типа CPU позволило включить аппаратные оптимизации на этапе компиляции даже при использовании старых CPU;
    • Поддержка прямого кодирования кадров, продолжительностью 80, 100 и 120 мс, без применения repacketizer, который получал кадр в 120 мс путём объединения двух кадров по 60 мс;
    • Для режима CELT представлена поддержка DTX (Discontinuous transmission, остановка передачи во время пауз в разговоре);
    • Улучшено качество передачи с постоянным битрейтом (CBR) в режиме SILK при низких битрейтах;
    • Улучшена реализация техники упреждающей коррекции ошибок (FEC, forward-error correction), полезной в условиях большой потери пакетов в канале связи. FEC теперь может применяться на более низких битрейтах (до 24 kb/s), чем раньше, и учитывается при распределении битового потока в гибридном режиме;
    • Для платформы Windows реализация Opus теперь поставляется в виде одной библиотеки, без выделения SILK и CELT в разные DLL;
    • Реализована, но пока не добавлена в стандарт, поддержка режима сферического объёмного звучания Ambisonics, востребованного в системах виртуальной реальности. В Opus 1.2 уже поддерживается метод прямого кодирования каналов ambisonics, но пока отсутствует матричное кодирование.

    Напомним, что кодек Opus создан путем комбинации лучших технологий из разработанного организацией Xiph.org кодека CELT и открытого компанией Skype кодека SILK. Кроме Skype и Xiph.Org в разработке Opus также приняли участие такие компании, как Mozilla, Octasic, Broadcom и Google. Opus отличается высоким качеством кодирования и минимальной задержкой как при сжатии потокового звука с высоким битрейтом, так и при сжатии голоса в ограниченных по пропускной способности приложениях VoIP-телефонии. Ранее Opus был признан лучшим кодеком при использовании битрейта 64Kbit (Opus обогнал таких конкурентов, как Apple HE-AAC, Nero HE-AAC, Vorbis и AAC LC). Из продуктов, поддерживающих Opus из коробки, можно отметить браузер Firefox, фреймворк GStreamer и пакет FFmpeg.

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

    Основные возможности Opus:

    • Битрейт от 6 до 510 Kbit/s;
    • Частота дискретизации от 8 до 48KHz;
    • Продолжительность кадров от 2.5 до 120 миллисекунд;
    • Поддержка постоянного (CBR) и переменного (VBR) битрейтов;
    • Поддержка узкополосного и широкополосного звука;
    • Поддержка голоса и музыки;
    • Поддержка стерео и моно;
    • Поддержка динамической настройки битрейта, пропускной способности и размера кадра;
    • Возможность восстановления звукового потока в случае потери кадров (PLC);
    • Поддержка до 255 каналов (многопоточные кадры)
    • Доступность реализаций с использованием арифметики с плавающей и фиксированной запятой.


    Источник: http://www.opennet.ru/opennews/art.shtml?num=46734

    Для Android создан web-браузер Firefox Focus на базе движка Webkit


    Компания Mozilla объявила о создании версии web-браузера Firefox Focus для платформы Android. Ранее Firefox Focus развивался специально для платформы iOS. Как и версия для iOS Firefox Focus для Android использует движок Webkit, вместо применяемого в обычном Firefox движка Gecko.

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

    При этом Firefox Focus по умолчанию осуществляет отправку обезличенной статистики о поведении пользователя на серверы сторонней компании Adjust GmbH. При установке отправляются сведения об источнике получения приложения (идентификатор рекламной кампании, IP-адрес, страна, локаль, ОС). В дальнейшем периодически отправляются сведения о частоте использования приложения. Данные включают информацию об активности вызова приложения, используемых настройках, частоте открытия страниц из адресной строки, частоте отправки поисковых запросов (информация о том какие именно сайты открываются не передаётся).

    Так как данные отправляются на серверы Adjust напрямую, то раскрываются сведения об IP-адресе устройства. По IP-адресу перемещение пользователя можно отслеживать на основе оценки местоположения текущего провайдера, но Firefox Focus отправляет данные без идентификатора, т.е. привязать IP в общем наборе статистики к конкретному устройству не получится. Отправку данных можно отключить в настройках.

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



    Источник: http://www.opennet.ru/opennews/art.shtml?num=46730

    Леннарт Поттеринг представил свой новый проект Casync


    Леннарт Поттеринг (Lennart Poettering) анонсировал проект Casync, над которым он работал последние несколько месяцев. Casync позиционируется как эффективное средство для распространения образов файловых систем, оптимизированное для организации частых обновлений через интернет, в том числе поверх HTTP и CDN-сетей. Casync нацелен на предоставление оптимального метода хранения и доставки различных версий содержимого крупных файловых систем или каталогов.

    В настоящее время разработка Casync сосредоточена на оптимизации доставки прошивок для потребительских интернет-устройств, образов контейнеров и виртуальных машин, приложений, переносимых сервисов и различных образов операционных систем. В будущем возможности проекта будут расширены для таких задач как резервное копирование и синхронизация домашних каталогов. Код написан на языке Си и распространяется под лицензией LGPLv2.1. Поддерживается работа как на уровне блочного устройства (доставка содержимого дисков, образов ФС и блочных устройств), так и на уровне файловой системы (обработка содержимого каталогов).

    В качестве причины создания нового ПО упоминается отсутствие готового решения для эффективного распространения часто меняющихся образов ФС. Например, Docker оперирует многоуровневыми архивами и требует слишком много дисковых ресурсов для поддержания полной истории изменений; OSTree передаёт отдельные файлы по HTTP, требует много места для delta-изменений на сервере и имеет проблемы с CDN; поставка образов в виде готовых файловых систем squashfs или IS09660 неэффективна с точки зрения дисковых затрат и трафика. В итоге, после изучения недостатков имеющихся решений, перед проектом Casync были поставлены следующие цели:

    • Минимизация трафика при доставке образов с интенсивным циклом обновления (для решения данной задачи большинство существующих систем используют доставку дельта-изменений);
    • Экономное использование дискового пространства на серверах (поддержание дельта-изменений для всех комбинаций версий приводит к экспоненциальному росту занимаемого дискового пространства);
    • Экономное использование дискового пространства на стороне клиента;
    • Адаптация для задействования сетей доставки контента (CDN) и загрузки поверх HTTP;
    • Простой интерфейс для пользователей, администраторов репозиториев и разработчиков. Управление производится через утилиту командной строки casync, предоставляющей команды подобные "casync list http://www.foobar.com/lennart.caidx" и "сasync extract http://www.foobar.com/lennart.caidx /home/lennart".

    Для достижения поставленных задач Casync комбинирует алгоритмы передачи данных от проекта rsync с git-подобными средствами организации контенто-адресуемых хранилищ. Данные сохраняются в файле .castr, представляющем собой хранилище отрывков (chunk store), в котором большой линейный поток данных разбивается на отрывки (chunk) переменной длины, хранящиеся в виде отдельных сжатых файлов с именем, составляющим хэш SHA256 от содержимого этого файла. Таким образом, имя файла выступает ключом для извлечения порции данных. Chunk store позволяет абстрагироваться от отдельных файлов - например, несколько мелких файлов будут объединены в один chunk, а большой файл разбит на несколько chunk-ов. При этом размер chunk-а варьируется и выбирается с учётом размера файлов для обеспечения дедупликации, т.е. если размер файла укладывается в допустимый диапазон размера chunk-ов, то он будет размещён в отдельном chunk-е.

    Хранилище дополняют два вида индексов (.caidx и caibx) и архив со структурой дерева каталогов (.catar). Индекс отрывков ("chunk index") содержит список хэшей отрывков и их размер, что позволяет выявлять идентичные отрывки и исключать сохранение дубликатов, что актуально при хранении нескольких версий данных. При обновлении клиент определяет недостающие кусочки и загружает только их. Содержимое дерева каталогов представлено в формате, обеспечивающем повторяемую сериализацию, т.е. упаковка одних и тех же данных всегда приводит к созданию идентичных архивов Casync, что позволяет применять расширенные схемы верификации.

    Источник: http://www.opennet.ru/opennews/art.shtml?num=46728

    Выпуск свободной операционной системы реального времени Zephyr 1.8


    Компания Intel представила выпуск Zephyr 1.8, компактной операционной системы реального времени (RTOS), нацеленной на оснащение устройств, соответствующих концепции "Интернет вещей" (IoT, Internet of Things). Проект распространяется под лицензией Apache 2.0 и развивается под эгидой организации Linux Foundation при участии Intel, Linaro, NXP Semiconductors/Freescale, Synopsys, Nordic Semiconductor, runtime.io и VHS. Система адаптирована для установки на платы на базе архитектуры x86 (Arduino 101, Quark D2000, Galileo Gen1/Gen2, Minnowboard Max, tinyTILE), ARMv7 (Arduino Due, Freescale FRDM-K64F, 96Boards Carbon, CC3200 LaunchXL, Curie, NXP FRDM, Hexiwear, ST Nucleo, OLIMEX, ARM V2M и т.д.) и ARC (Arduino 101, DesignWare), а также для тестирования в эмуляторе на базе QEMU.

    Ядро Zephyr рассчитано на потребление минимальных ресурсов (от 8 до 512 Кб ОЗУ в зависимости от компоновки), что позволяет использовать его на различных портативных системах, от простых встраиваемых датчиков и чипов для одежды, до умных часов и беспроводных шлюзов для IoT-устройств. Из средств сетевого и беспроводного взаимодействия ядром поддерживается Bluetooth 5, IPv4, IPv6, IEEE 802.15.4, Bluetooth Low Energy (BLE), 6lowPAN (IPv6 over Low power Wireless Personal Area Networks), USB, CoAP (Constrained Application Protocol), DTLS (Datagram Transport Layer Security). Доступны драйверы ввода/вывода для ADC, GPIO, I2C и SPI.

    Zephyr 1.8 стал первым выпуском после перемещения основного дерева исходных текстов на GitHub. Ожидается, что перемещение разработки на GitHub упростит отправку запросов на изменение, расширит возможности по рецензированию кода и будет способствовать подключению к разработке новых участников. Ключевые улучшения в выпуске Zephyr 1.8:

    • В ядро добавлена опция с реализацией режима tickless, обеспечивающего независимую от сигналов таймера многозадачность. В данном режиме ядро может длительное время находиться в состоянии сна, пробуждаясь только при наступлении требующего обработки события, но без периодических пробуждений для обработки сигналов таймера;
    • Начальная поддержка возможностей, определённых в спецификации Bluetooth 5.0. На платах Nordic Semiconductor добавлена возможность передачи данных поверх Bluetooth Low Energy на скорости 2Mbit/s;
    • Добавлена поддержка сборки с использованием сторонних компиляторов. В том числе теперь возможна сборка в окружении Microsoft Windows с использованием инструментария MSYS2 вместо MinGW, а также сборки из Windows для любых целевых систем, требующих поддержки Device Tree;
    • Реализована и включена для некоторых платформ начальная поддержка блоков MMU/MPU (Memory Protection Units), обеспечивающих изоляцию областей памяти между разными исполняемыми контекстами;
    • В сетевую подсистему добавлены библиотеки с реализацией HTTP-сервера и клиента, что позволяет легко встроить данную функциональность в приложения, не прибегая к сторонним библиотекам. Добавлена поддержка фрагментации пакетов IPv6. Полностью переработан код для работы с сетевыми буферами. Добавлены реализации DNS-резолвера и NATS. Обеспечена поддержка IEEE 802.15.4;
    • Внесены оптимизации в модель многопоточного выполнения кода, сетевые интерфейсы и IP-стек;
    • Добавлены библиотеки для работы с I2C и JSON;
    • Добавлена возможность использования сторонних инструментов трассировки отладки;
    • Модернизирована сборочная система;
    • Добавлена поддержка варианта GCC для архитектуры Xtensa;
    • Добавлена поддержка плат Nucleo STM32F413, Nucleo L432KC, STM32L496G , ARM FRDM-KL25Z, STM32F469I-DISCO, disco_l475_iot1, CC3220SF_LAUNCHXL;
    • Добавлены драйверы для nRF5 IEEE 802.15.4, KW41Z IEEE 802.15.4, MCUX TRNG, SiFive Freedom E310, lps22hb, lsm6dsl, lis2dh;
    • В будущих выпусках ожидается поддержка POSIX API, BSD Socket, LWM2M, улучшенная поддержка LLVM, переход на CMake, SMP, AMP и специализированная среда разработки.


    Основные особенности ядра Zephyr:

    • Работа в едином адресном пространстве (SASOS, Single Address Space Operating System) - для всех процессов предоставляется только одно глобальное совместно используемое виртуальное адресное пространство. Специфичный для приложений код комбинируется с адаптированным под конкретное применение ядром и образует монолитный исполняемый файл для загрузки и запуска на определённом оборудовании. Код приложений и ядра выполняются в одном общем адресном пространстве.
    • Широкие возможности по настройке. В системный образ могут включаться только те возможности ядра, которые требуются для выполнения приложения;
    • Все системные ресурсы определяются на этапе компиляции, что сокращает размер кода и увеличивает производительность;
    • Минимальные проверки ошибок во время выполнения, что также сокращает размер кода и увеличивает производительность. В форме подключаемой надстройки для отладки предлагается специальная отладочная инфраструктура, позволяющая выявлять ошибки во время разработки приложения, создавая специальные тестовые образы;
    • Обширный набор привычных сервисов для разработки:
      • Многопоточность на основе приоритетов с вытесняющей и совместной моделью передачи управления;
      • Подключение обработчиков прерываний, регистрируемых как на этапе компиляции, так и во время выполнения;
      • Средства синхронизации данных между потоками - двоичные семафоры, семафоры-счетчики и мьютексы;
      • Средства передачи данных между потоками - простые очереди сообщений, расширенные очереди сообщений и байтовые потоки;
      • Сервисы для распределения памяти - динамическое выделение памяти и очистка для блоков памяти фиксированного и динамического размера;
      • Механизмы управления питанием: режим tickless (вместо фиксированного вызова по таймеру, процессор просыпается только при наличии событий) и расширенная инфраструктура управления простоем процессора (idle).
    • Разработка с оглядкой на безопасность. Все стадии разработки проходят обязательные этапы подтверждения безопасности кода: fuzzing-тестирование, статический анализ, испытания на проникновение, рецензирование кода, анализ внедрения бэкдоров и моделирование угроз. Поставка в виде статически собранного исполняемого файла ограничивает вектор атак только скомпилированным кодом, без возможности загрузить свои модули.


    Источник: http://www.opennet.ru/opennews/art.shtml?num=46727

    15% пользователей потребительских интернет-устройств не меняют пароль по умолчанию


    Исследование защищённости доступных в online потребительских интернет-устройств, проведённое компанией Positive Technologies на основе сканирования сети, показало, что 15% пользователей не меняют заданные производителем пароли удалённого доступа к устройствам, таким как беспроводные маршрутизаторы, TV-приставки, устройства IP-телефонии, принтеры и web-камеры. Кроме того, для входа на 10% устройств применялось пять популярных типовых паролей: support/support, admin/admin, admin/0000, user/user и root/12345, что во многом объясняет успешное продвижение сетевых червей, использующих для распространения только подборку самых популярных учётных записей.

    Например, поражающее клиентские маршрутизаторы вредоносное ПО Mirai, использовало для построения ботнета перебор из 62 типовых комбинации логин/пароль. Кроме того, отмечается, что большинство пользователей не заботятся об обновлении прошивок и устройства остаются с неисправленными уязвимостями на всём протяжении жизненного цикла устройства, который в среднем составляет 3-4 года. При рассмотрении открытых сетевых портов, 48% устройств оказались доступны через HTTP, 41% - NetBIOS (137 порт), 28% - telnet, 24% - HTTPS, 23% - SSH, 17% - FTP.

    Сотрудники Лаборатории Касперского в дополнение к исследованию Positive Technologies провели оценку степени активности атак на потребительские интернет-устройства, запустив серию подставных хостов (honeypot), симулирующих работу различных незащищённых сетевых устройств. На данные устройства с января ежедневно фиксируются десятки тысяч попыток подбора паролей входа и эксплуатации известных уязвимостей. При этом 85% запросов приходится на протокол telnet и 15% на SSH.

    Сканирование сети через такие сервисы, как Shodan и ZoomEye, выявило около 7.5 млн доступных в online IP-камер и DVR-устройств, а также около 4 млн беспроводных маршрутизаторов и модемов, сколько из них не защищены и содержат уязвимости неизвестно. Также фиксируется рост числа образцов вредоносного ПО, пытающегося атаковать IoT-устройства - если в 2015 году коллекция Лаборатории Касперского включала 696 подобных программ, то в 2016 их число возросло до 3219, а в 2017 до 7242.

    Источник: http://www.opennet.ru/opennews/art.shtml?num=46725

    Раскрыты детали атаки Stack Сlash и 15 root-эксплоитов для разных ОС


    Компания Qualys раскрыла результаты исследования, в рамках которого была изучена возможность эксплуатации уязвимостей, приводящих к пересечению содержимого стека и кучи. Когда стек и куча размещаются смежно и прилегают друг к другу (область стека следует сразу за памятью, выделенную под кучу), то в условиях того, что куча растёт в сторону увеличения, а стек в сторону уменьшения не исключено возникновение ситуаций, когда содержимое переполненной кучи может оказаться в области стека или, наоборот, стек может переписать область кучи.

    Для защиты от подобных пересечений в ядре Linux и других ОС применяют технику "stack guard-page", суть которой в подстановке граничных страниц памяти, обращение к которым приводит к генерации исключения (page-fault). Защита была разработана в ответ на выявление в 2010 году уязвимости CVE-2010-2240 и основана на том, что обычно стек заполняется постепенно и при его переполнении будет осуществлён доступ к "stack guard-page".

    Исследователи Qualys попытались выявить практические методы инициирования подобных столкновений и обхода защиты "stack guard-page", что им блестяще удалось - выявлено 20 уязвимостей, связанных с недоработками выделения памяти в стеке/куче ядра, libc и компонентов пространства пользователя, позволяющих обойти средства защиты от выхода за границы стека. Суть предложенного Qualys метода обхода "stack guard-page" заключается в том, что некоторые приложения позволяют заполнять стек не последовательно и поддерживают конструкции, дающие возможность пробросить указатель стека с большим смещением, что позволяет избежать попадания в "stack guard-page".

    Предложенные методы атаки разделены на три базовые категории:

    • Столкновение стека с другой областью памяти: выделение памяти производится до тех пор, пока стек не достигнет другой области памяти или пока другая область памяти не достигнет стека;
    • Проброс минуя страницу защиты стека (stack guard-page): указатель стека перемещается из стека в другую область памяти, не касаясь страницы защиты стека;
    • Разбиение стека или другой области памяти: осуществляется перезапись стека содержимым другой области памяти или перезапись другой области памяти содержимым стека. В качестве другой области памяти может выступать куча, анонимный mmap(), доступный на запись/чтение сегмент ld.so или PIE (Position-Independent Executable).

    Для демонстрации практических атак создано 15 рабочих прототипов эксплоитов, позволяющих повысить свои привилегии через манипуляции с различными приложениями в различных операционных системах (Debian, CenOS, Fedora, Ubuntu, OpenBSD, NetBSD, FreeBSD, Solaris). Среди опубликованных прототипов эксплоитов:

    • Локальная root-уязвимость в Exim, манипулирующая недоработкой (CVE-2017-1000369), из-за которой при обработке некоторых аргументов командной строки не выполняется корректное освобождение памяти. Воспользовавшись данной проблемой локальный атакующий может в сочетании с уязвимостью CVE-2017-1000376 в glibc организовать выполнение своего кода с правами root. Эксплоит протестирован в Debian GNU/Linux (i386);
    • Поднятие привилегий в системе через утилиту sudo. Для атаки используется сочетание уязвимостей в sudo (CVE-2017-1000367) и в Glibc (CVE-2017-1000366). Проблема в Glibc вызвана некорректной обработкой памяти, выделенной для переменных окружения в suid-программах. Работа эксплоита продемонстрирована в Debian, Ubuntu и CentOS (i386);
    • Ещё один эксплоит, позволяющий получить привилегии root через манипуляцию с утилитой sudo. Эксплоит примечателен работой в дистрибутивах с включенным SELinux;
    • Локальный root-эксплоит через манипуляцию с ld.so и большинством SUID-root программ (используются уязвимости в glibc CVE-2017-1000366 и ядре Linux CVE-2017-1000370). Работа эксплоита продемонстрирована в Debian, Fedora и CentOS (i386);
    • Локальный root-эксплоит через манипуляцию с ld.so и большинством SUID-root программ, собранных в режиме PIE (используется уязвимость в glibc CVE-2017-1000366 и другая уязвимость в ядре Linux CVE-2017-1000371). Работа эксплоита продемонстрирована в Debian, Fedora и Ubuntu (i386);
    • Локальный root-эксплоит против утилиты /bin/su (используется уязвимость в glibc CVE-2017-1000366 и уязвимость в ядре Linux CVE-2017-1000365). Работа эксплоита продемонстрирована в Debian (i386);
    • Концептуальный эксплоит для получения контроля за регистром eip через sudo на системах i386 с патчами grsecurity/PaX (CVE-2017-1000367, CVE-2017-1000366, CVE-2017-1000377);
    • Концептуальный эксплоит для получения контроля за указателем адреса возврата (rip) через манипуляции с Exim (CVE-2017-1000369) в окружении Debian (amd64);
    • Локальный root-эксплоит против ld.so и большинство SUID-root приложений (CVE-2017-1000366, CVE-2017-1000379). Работа эксплоита продемонстрирована в Debian, Ubuntu, Fedora и CentOS (amd64);
    • Концептуальный эксплоит для обхода защиты stack guard-page в OpenBSD через манипуляции с утилитой /usr/bin/at. Для атаки используются уязвимости в реализации stack guard-page (CVE-2017-1000372) и libc функции qsort (CVE-2017-1000373);
    • Концептуальный эксплоит для обхода защиты stack guard-page в NetBSD (CVE-2017-1000374, CVE-2017-1000375);
    • Концептуальный эксплоит для атаки в окружении FreeBSD и обхода защиты RLIMIT_STACK в setrlimit (CVE-2017-1000385);
    • Два концептуальных эксплоита для обхода защиты stack guard-page во FreeBSD (CVE-2017-1083, CVE-2017-1084);
    • Локальный root-эксплоит против /usr/bin/rsh в окружении Solaris 11 (CVE-2017-3630, CVE-2017-3629, CVE-2017-3631 CVE-2017-3631).

    Для большинства вышеотмеченных уязвимостей уже доступны обновления от дистрибутивов (разработчики дистрибутивов были в закрытом порядке извещены о проблемах в середине мая и сегодня скоординировано выпустили обновления). В качестве общей меры для противодействия выявленным уязвимостям предлагается пересобрать все приложения и библиотеки в пространстве пользователя с использованием опции "-fstack-check" в GCC, которая добавляет защиту от перемещения указателя стека в другую область памяти, минуя stack guard-page. Но так как "-fstack-check" пока не всегда работает корректно, для защиты в краткосрочной перспективе предложено увеличить размер stack guard-page с применяемых ныне нескольких килобайт до как минимум 1 Мб, что существенно затруднит эксплуатацию. Также рекомендовано предоставить средства для произвольного изменения размера stack guard-page администратором (например, grsecurity/PaX предоставляет /proc/sys/vm/heap_stack_gap).

    Источник: http://www.opennet.ru/opennews/art.shtml?num=46724


    Новинки


    страницы: