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

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

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

  • Проведена работа по увеличению качества звукопередачи в режимах сжатия речи и музыки, сохраняя при этом полную совместимость с RFC 6716;
  • Включена по умолчанию поддержка расширений и исправлений, описанных в RFC 8251 (изменения можно отключить опцией «—disable-rfc8251»);
  • Предложен принципиально новый детектора речи и музыки, который базируется на применении рекуррентной нейронной сети (используются управляемые рекуррентные блоки) вместо ранее применяемой простейшей нерекуррентной нейронной сети. Новый детектор значительно проще и надёжнее прошлого декодировщика, и позволяет добиться более высокой производительности в условиях передачи смешанного контента с битрейтами до 48 kb/s;
  • Добавлена поддержка объёмного звука на базе технологии Ambisonic, что позволяет использовать Opus для кодирования 3D-звука для платформ виртуальной реальности и систем просмотра видео в режиме 360 градусов;
  • Улучшено кодирование речи в режиме стерео на низких битрейтах;
  • Широкополосное (wideband) кодирование теперь применяется для битрейтов до 9 kb/s
  • Обеспечена возможность использование кодека SILK на битрейтах около 5 kb/s (раньше лимит был в 6 kb/s);
  • Проведена работа по усилению защищённости кода, в код добавлены дополнительные механизмы для безопасной работы с памятью и указателями , включены по умолчанию assert-ы для наиболее опасных сбоев, не нагружающие CPU и с минимальным риском ложных срабатываний.

Напомним, что кодек 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:

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

Источник: [ссылка]

Релиз OpenBSD 6.4, OpenSSH 7.9 и LibreSSL 2.8.2

В соответствии с релизным циклом вышла новая версия операционной системы общего назначения OpenBSD 6.4. Самые примечательные изменения в новой версии:

  • Множество добавлений для платформы arm64;
  • Улучшения в удобстве использования Wi-Fi;
  • Продолжение работы над избавлением сетевого стека от использования глобальной блокировки ядра;
  • Cистемный вызов unveil(), который предоставляет новый способ изоляции доступа к файловой системе;
  • Механизм защиты RETGUARD, нацеленный на усложнение выполнения эксплоитов, построенных с использованием заимствования кусков кода и приёмов возвратно-ориентированного программирования;
  • Переработка синтаксиса OpenSMTPD для значительного увеличения гибкости не в ущерб удобству;

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

Список изменений:

    Улучшения в области безопасности:

    • Новый системный вызов unveil(2) для ограничения доступа текущего процесса к файловой системе путём задания списка используемых файлов и каталогов. Наибольший эффект достигается в сочетании с pledge(2).
    • Реализована опция MAP_STACK для mmap(2). При возникновении ошибок доступа и системных вызовах ядро будет проверять, что верхушка стека находится в отведённой ей (с участием MAP_STACK) области памяти, что мешает атакам, переносящим верхушку стека в контролируемую атакующим область памяти (stack pivot attack).
    • Новый защитный механизм RETGUARD (для платформ amd64 и arm64), использующий индвидуальные для каждой функции cookie для защиты доступа к командам возврата из функции, что затрудняет их использование в качестве ROP-гаджетов.
    • В clang(1) на amd64 и i386 добавлен проход по коду с идентификацией типичных полезных для ROP-гаджетов инструкций и заменой таких инструкций альтернативами.
    • Защита от Spectre v2, Retpoline, включена в clang(1) и ассемблерных файлах на amd64 и i386.
    • Механизм защиты SpectreRSB включён на amd64.
    • Также для amd64 добавлена защита Intel L1 Terminal Fault.
    • PCID, при их наличии, используются на amd64 для разделения пользовательских и ядерных записей TLB.
    • Защита от Meltdown добавлена для i386.
    • На amd64 теперь используется немежденное переключение контекста FPU для предотвращения утечки состояния FPU из-за спекулятивного выполнения.
    • Фальшивая многопоточность (SMT, в случае с процессорами Intel называется HT — HyperThreading) отключена по умолчанию из-за небезопасного использования ядер ЦП. Она может быть включена обратно с помощью новой переменной sysctl(2) hw.smt.
    • Запись звука по умолчанию глобально отключена (имитируется запись тишины) и может быть включена с помощью новой переменной sysctl(2) kern.audio.record.
    • getpwnam(3) и getpwuid(3) возвращают теперь указатель не на статичный буфер, а на явно выделяемую память, позднее освобождаемую. Это позволяет детектировать доступ к устаревшим записям.
    • sshd(8) получил дополнительную защиту от атак на перебор названий учётных записей.

    Улучшения гипервизора vmm(4) и соответствующего сервиса vmd(8)

    • Поддержка образов дисков и снимков состояния (snapshots) в формате qcow2.
    • Поддержка шаблонов виртуальных машин и наследования в vm.conf(5) и vmctl(8).
    • Добавлена начальная поддержка unveil(2) в vmctl(8), заодно произведена общая чистка кода данной утилиты.
    • Различные исправления ошибок и улучшения.

    Улучшения в стеке IEEE 802.11 (Wi-Fi)

    • Новая команда «join» в ifconfig(8) для сохранения списка известных сетей и автоматического подключения к ним.
    • Значительно увеличена скорость работы команды «ifconfig scan» для многих устройств.

    Общие улучшения сетевого стека

    • В trunk(4) добавлены опции для настройки режимов работы, таймаутов и приоритетов.
    • В ifconfig(8) добавлена возможность настройки параметров trunk(4) (см. выше).
    • Системные вызовы sendmsg(2), sendto(2), recvfrom(2) и recvmsg(2) работают без глобальной блокировки ядра (KERNEL_LOCK).
    • Новые глобальные счётчики IPsec, доступные через netstat(1).
    • Новый интерфейс eoip(4) для протокола инкапсуляции MikroTik Ethernet over IP (EoIP).

    Маршрутизация и другие улучшения сетевого стека в пользовательском пространстве:

    • ospf6d(8) теперь может устанавливать метрику маршрута в зависимости от состояния интерфейса.
    • ospf6d(8) теперь может работать в альтернативном домене маршрутизации.
    • ospf6d(8) теперь использует pledge(2).
    • ospfd(8) и ospf6d(8) теперь защищены от многократного запуска в одном домене маршрутизации.
    • slaacd(8) теперь полноценно использует pledge(2).
    • slaacd(8) теперь получает от ядра уведомления о дублировании сетевых адресов, и по возможности генерирует новые.
    • Когда slaacd(8) обнаруживает переход между сетями, он отмечает как устаревшие все сконфигурированные сетевые адреса. Предпочтение получают адреса с новыми анонсированными префиксами.
    • Новый сервис, rad(8), пришедший на замену rtadvd(8) (часть проекта KAME), для отправки сообщений IPv6 Router Advertisement.
    • Анахронизм networks(5) более не поддерживается.
    • Улучшена надёжность и предсказуемость поведения парсера pfctl(8) в крайних ситуациях.
    • route(8) теперь сообщает об ошибках использования «-netmask» и «-prefixlen» вместо конфигурирования непонятных маршрутов.
    • dhclient(8) теперь добавляет прямой маршрут к шлюзу по умолчанию, если он не доступен в рамках полученных сетевых адреса и маски.
    • dhclient(8) теперь обновляет dhclient.leases(5), resolv.conf(5) и все отмеченные ключом «-L» файлы до ухода на задний план и возвращения управления вызывающей программе (скрипту).
    • Опция «-i» в dhclient(8)] теперь отбрасывает любые ранее определённые значения для отмеченных к игнорированию опций.
    • Любое изменение на любом интерфейсе теперь побуждает dhclient(8) соответствующим образом обновить resolv.conf(5).
    • dhclient(8) теперь всегда записывает идентификатор клиента, использованный для получения lease, для лучшей совместимости с RFC 6842.
    • dhclient(8) теперь имеет опцию «-r» для прекращения работы с освобождением текущей lease.
    • dhclient(8) теперь избегает некорректной модификации resolv.conf(5) путём игнорирования dhclient.leases(5) для интерфейсов, не умеющих сообщать о наличии связи.

    Улучшения в установщике

    • installurl(5) по умолчанию получает значение «cdn.openbsd.org», если зеркало не было выбрано явным образом при установке ОС. Благодаря этому pkg_add(1) и syspatch(8) работают «из коробки» в таких случаях.
    • DUID можно использовать для ответа на вопрос «Which disk is the root disk?» при обновлении системы (актуально при автоматическом обновлении).
    • Установка согласно diskless(8) может производиться через интерфейсы, сконфигурированные dhclient(8).
    • disklabel(8) теперь создаёт раздел /usr/obj размером минимум 5ГБ при использовании автоматической разметки.
    • disklabel(8) теперь создаёт раздел /usr/local размером не более 20ГБ при использовании автоматической разметки.

    Улучшения в поддержке оборудования

    • Поддержка ACPI на платформе arm64.
    • Обновлён драйвер radeondrm(4) до соответствующего Linux 4.4.155, что принесло поддержку modesetting для APU KAVERI/KABINI/MULLINS и GPU OLAND/BONAIRE/HAINAN/HAWAII.
    • Также radeondrm(4) теперь поддерживается на arm64.
    • Новый драйвер umt(4) для сенсорных экранов, соответствующих стандарту USB Windows Precision Touchpad.
    • Новый драйвер bnxt(4) для карт Broadcom NetXtreme-C/E (PCI Express) на базе чипов Broadcom BCM573xx и BCM574xx. Драйвер изначально включён для платформ amd64 и arm64.
    • Новый драйвер mue(4) для гигабитных Ethernet-устройств Microchip LAN7500/LAN7505/LAN7515/LAN7850 (USB 2.0) и LAN7800/LAN7801 (USB 3.0).
    • Новый драйвер acpisurface(4) для поддержки ACPI на ноутбуках Microsoft Surface Book.
    • Новый драйвер agintcmsi(4/arm64) для ITS-компонентов ARM GIC.
    • Новый драйвер dwpcie(4) для PCIe-контроллеров Synopsys Designware, встречающихся на различных SoC.
    • Новый драйвер acpipci(4/arm64) для мостов хост-PCI, информация о которых берётся из ACPI.
    • Новые драйвера mvclock(4), mvgpio(4), mvicu(4), mvrng(4), mvrtc(4) и mvtemp(4) для различных компонентов SoC Marvell Armada.
    • Новые драйверы hiclock(4), hidwusb(4), hireset(4) и hitemp(4) для различных компонентов SoC HiSilicon.
    • Новые драйверы ccp(4) и octcrypto(4/octeon) для аппаратной акселерации криптографических операций.
    • Новые драйверы ccpmic(4) и tipmic(4) для управления питанием на Intel Crystal Cove и Dollar Cove TI.
    • Новый драйвер imxrtc(4) для часов реального времени (RTC), интегрированных в процессоры Freescale i.MX7 и i.MX8.
    • Новые драйверы fanpwr(4) для регуляторов напряжения Fairchild FAN53555 и Silergy SYR827/828.
    • Новый драйвер pinctrl(4) для единого мультиплексирования pin.
    • Новый драйвер plgpio(4) для GPIO-контроллеров ARM PrimeCell PL061.
    • Поддержка PIE на платформе m88k.
    • Поддержка для некоторых сенсорных экранов HID-over-I^2C в imt(4).
    • Поддержка чипов RTL8188EE и RTL8723AE в rtwn(4).
    • Поддержка RT3290 в ral(4).
    • Поддержка контроллеров SAS 3.5 (SAS34xx и SAS35xx) в mpii(4).
    • Поддержка сенсоров состояния диска и батареи, а также bio(4) в mfii(4).
    • На платформе i386 микрокод для процессоров Intel загружается при запуске ядра ОС.
    • На платформе i386 уменьшено зарезервированное для brk(2) адресное пространство с целью увеличения объёма памяти, доступного для анонимных вызовов mmap(2).
    • На платформе sparc64 ldomctl(8) теперь поддерживает более новые системные прошивки в машинах SPARC T2+ и T3, в частности T1000, T5120 и T5240. Переменные NVRAM теперь могут выставлять на уровне логического домена.
    • Улучшена поддержка UART Synopsys Designware в com(4).
    • Новый драйвер https://man.openbsd.org/islrtc.4 islrtc(4)]] для часов реального времени (RTC) Intersil ISL1208.
    • Поддержка Huawei k3772 в umsm(4).
    • Поддержка чипсета VIA VX900 в viapm(4).
    • Поддержка других, кроме GPS, сетей GNSS в nmea(4).
    • Поддержка трекпойнтов Elantech в pms(4).
    • Поддержка сенсора подключения репликатора портов в acpithinkpad(4).
    • Поддержка SoC Allwinner H3 и A64 в scitemp(4).

    Улучшения в bgpd(8)

    • Фильтрующее действие по умолчанию изменено с «allow» на «deny».
    • Параметр конфигурации «announce (all|self|none|default-route)» объявлен устаревшим, на замену пришло конфигурирование фильтров.
    • Улучшена работа наборов префиксов (prefix-sets), как в скорости, так и в удобстве.
    • Введены наборы AS (as-sets) для сопоставления ASPATH большому количеству номеров AS.
    • Поддержка BGP Origin Validation (RFC 6811) посредством директивы «roa-set».
    • Добавлены наборы исходящих пунктов (origin-sets) для эффективного сопоставления AS пар «префикс — источник».
    • Небольшая чистка синтаксиса: переводы строк опциональны внутри раскрывающихся списков (ранее переводы строк должны были быть экранированы), однако в блоках «neighbor», «group» и «rdomain» записи должны быть на отдельных строках.
    • Уменьшен объём работы при перезагрузке конфигурации.
    • Перезагрузка конфигурации более не блокирует обработку остальных событий в механизме выбора маршрута.
    • Улучшена поддержка и исправлен ряд ошибок при одновременной работе множества bgpd в разных доменах маршрутизации.

    Прочие улучшения:

    • Поддержка прокрутки по истории для фреймбуферных консолей на базе rasops(9), таких как inteldrm(4), radeondrm(4) и efifb(4).
    • rebound(8) получил поддержку постоянных A-записей, по аналогии с «local-data» в Unbound.
    • Новый драйвер kcov(4) для сбора статистики о покрытии кода внутри ядра. Он является частью текущего проекта по fuzz-тестированию ядра.
    • uid_from_user(3) и gid_from_group(3) добавлены в стандартную библиотеку языка C и уже используются некоторыми программами для ускорения повторных запросов.
    • Новая реализация семафоров, обеспечивающая безопасность асинхронного использования sem_post(3).
    • pcap_set_immediate_mode(3) была импортирована из upstream libpcap, что позволяет программам обрабатывать пакеты сразу по мере их поступления.
    • ksh(1) теперь использует 64-битные целые числа в арифметических выражениях на всех архитектурах.
    • Исправлена ошибка в раскрытии ksh(1) переменных помеченных флагом «только для чтения».
    • lam(1) теперь поддерживает UTF-8.
    • trunk(4) и vlan(4) теперь включены в RAMDISK на arm64.
    • Улучшен алгоритм пересборки IP-фрагментов в PF с целью защиты от DoS—атак.
    • Новая утилита ldap(1), реализующая простой LDAP-клиент.
    • Исправлен баг в init(8), приводивший к зависаниям на платформе i386 при работе под VMWare.
    • Добавлена поддержка загрузки посредством TFTP в U-Boot на платформах arm64 и armv7 посредством EFI Simple Network protocol.
    • Добавлена поддержка EFI Random Number Generator Protocol для получения дополнительной энтропии для ГПСЧ при запуске системы.
    • В snmpd(8) добавлена поддержка RFC 3430 (подключение по TCP).
    • Драйвер bwfm(4) включён на платформах amd64, i386, arm64 и armv7, а также — для USB-устройств — на платформах loongson и macppc.
    • Новый консольный шрифт «Spleen 5×8», предназначенный для небольших OLED-дисплеев.
    • usbdevs(8) теперь сообщает о состоянии USB-портов.
    • top(1) и systat(1) теперь сообщают время, потраченное каждым ЦП на ожидании в критических секциях (spinning locks).
    • Улучшена скорость чтения MSDOSFS благодаря кластеризации.
    • Доступ к NFS-узлам теперь упорядочен.
    • Утилита systat(1) получила новый экран «uvm», отображающий различную статистику подсистемы UVM.
    • mg(1) теперь обрабатывает символы возврата каретки при последовательном поиске (incremental search) путём установки метки (mark) и выхода из поиска, как это делают другие современные клоны Emacs.
    • В disklabel(8) улучшено округление смещений и размеров разделов на границы цилиндров.
    • disklabel(8) теперь контролирует выход за допустимые пределы для всего пользовательского ввода.
    • disklabel(8) более не позволяет разделам типа FS_RAID становиться точками монтирования.
    • disklabel(8) теперь изменяет параметры разделов только если весь пользовательский ввод был валидирован.
    • Улучшены директивы управления журналированием к конфигурационном файле relayd(8) для более гибкой настройки того, что необходимо логировать.
    • tmux(1) теперь корректно работает с палитрами терминалов, состоящими более чем из 256 цветов.
    • httpd(8) теперь поддерживает аутентификацию по клиентскому сертификату.
    • Множество исправлений в подсистеме fuse(4).
    • Улучшен алгоритм поиска ядром свободной памяти для удовлетворения запросов mmap(2) на анонимную память.
    • efifb(4) теперь переназначает фреймбуфер EFI раньше для использования комбинированной записи (write combining mapping), что даёт значительное ускорение его (фреймбуфера) работы.

    OpenSMTPD

    • Нарушающие совместимость изменения в синтаксисе smtpd.conf: разделены сопоставление конвертов (envelope), происходящее во время SMTP-диалога, и выполняемые действия (actions), которые начинают выполняться при первой попытке доставки. Это изменение позволяет убрать ряд серьёзных барьеров для дальнейшего развития OpenSMTPD.
    • Улучшен движок SMTP с появлением нового парсера сообщений, соответствующего RFC 5322.
    • Убраны ограничения, не позволявшие smtpd(8) взаимодействовать с клиентами, отправляющими чрезмерно длинные строки.
    • Улучшена безопасность путём перемещения раскрытия переменных для файлов .forward в процесс, отвечающий за доставку сообщений пользователю (MDA).
    • Введены обёртки для MDA, позволяющие командам на получение быть прозрачно обёрнутыми внутри глобальных команд.
    • Добавлен SMTP-клиент для командной строки.
    • Множество улучшений документации и мелких исправлений в коде.

    OpenSSH 7.9 Новые возможности:

    • В большинстве мест конфигурации ssh(1) и sshd(8), где используются номера портов, теперь можно использовать названия сервисов из /etc/services.
    • В директиве ssh(1) IdentityAgent теперь можно использовать переменные окружения. Это позволяет использовать несколько сокетов для SSH-агентов без необходимости задания фиксированных путей.
    • Поддержка передачи сигналов сессиям по протоколу SSH в sshd(8).
    • Команда «ssh -Q sig» может быть использована для получения списка поддерживаемых параметров подписей. Также, «ssh -Q help» покажет полный список поддерживаемых запросов.
    • Новая опция CASignatureAlgorithms в ssh(1) и sshd(8) управляет разрешёнными формами подписей для центров сертификации, которыми можно подписывать сертификаты. Например, это позволяет заблокировать центры сертификации, подписывающие сертификаты с использованием алгоритма RSA-SHA1.
    • Списки отзыва ключей (KRL) теперь могут ключать в себя ключи по хешу SHA-256. Эти списки управляются ssh-keygen(8). Более того, KRL теперь могут быть созданы из Base64-кодированного представления SHA256-отпечатков, то есть, из информации в сообщения об аутентификации sshd((8).

      Неполный список исправлений:

    • ssh(1): ssh-keygen(1): убраны ошибки «invalid format» при загрузке приватных ключей в формате PEM с неверной парольной фразой.
    • sshd(8): когда канал закрывается во время получения сообщения от клиента, теперь вместе со stdin и stdout закрывается также файловый дескриптор stderr. Это позволяет избежать зависания процессов, если они ожидают закрытия stderr, не обращая внимания на закрытие stdin и stdout.
    • ssh(1): разрешено ForwardX11Timeout=0 для безусловного отключения недоверенного перенаправления X11. До этого поведение при ForwardX11Timeout=0 было неопределённым.
    • sshd(8): не закрывается при конфигурировании текстового списка отзыва ключей, содержащего слишком короткий ключ.
    • ssh(1): подключения с ProxyJump обрабатываются так же как с ProxyCommand касаемо приведения имени хоста к каноническому виду (то есть, приведение не производится, если только опция CanonicalizeHostname не выставлена в «always»).
    • ssh(1): исправлена регрессия в OpenSSH 7.8, которая не позволяла аутентификацию по ключу с использованием сертификата в ssh-agent(1) или относительно sshd(8) из OpenSSH {7.8.

    LibreSSL 2.8.2 (первый стабильный релиз ветки 2.8). Улучшения API и документации:

    • Верификация X509 стала строже, любая проблема X509_VERIFY_PARAM для имени хоста, IP-адреса или email заставит X509_verify_cert(3) сообщить об ошибке.
    • Убрана поддержка классического (одиночного) DES.
    • В RSA_sign(3) добавлена поддержка RSASSA-PKCS1-v1_5 (RFC 8017).
    • Изменено поведение функций CRYPTO_mem_leaks_*(3) на возврат значения -1. Эти функции являются пустышками в LibreSSL, поэтому возвращается индикатор ошибки, чтобы не показывать (не-)наличие утечек памяти.
    • SSL_copy_session_id(3), PEM_Sign(3), EVP_EncodeUpdate(3), BIO_set_cipher(3), X509_OBJECT_up_ref_count(3) теперь возвращают int для обработки ошибок, как в OpenSSL.
    • Часть #define превращена в настоящие функции, для соответствия OpenSSL ABI, в частности, X509_CRL_get_issuer(3) и другие функции X509_*get*(3).
    • Добавлена X509_get0_serialNumber(3) из OpenSSL.
    • Убраны EVP_PKEY2PKCS8_broken(3) и PKCS8_set_broken(3), и в то же время добавлены PKCS8_pkey_add1_attr_by_NID(3) и PKCS8_pkey_get0_attrs(3), для соответствия OpenSSL.
    • Удалены неработоспособные pkcs8 форматы из openssl(1).
    • Добавлены RSA_meth_get_finish(3) и RSA_meth_set1_name(3) из OpenSSL.
    • Добавлены новые EVP_CIPHER_CTX_(get|set)_iv(3) API, позволяющие получать и заполнять инициализирующий вектор (IV) с подходящей валидацией.
    • Экстенсивные обновления документации и истории API.
    • Убраны глючные клиентские костыли SSL_OP_TLS_ROLLBACK_BUG.
    • ENGINE_finish(3) и ENGINE_free(3) теперь возвращают NULL при успехе для упрощения жизни вызывающим и соответствия поведению OpenSSL; документация ENGINE_* переписана.
    • Добавлена аннотация const ко множеству существующих API из OpenSSL, для облегчения взаимозаменяемости для использующих приложений.
    • Документированы решаемые проблемы с безопасностью при описании BN_FLG_CONSTTIME и константного времени работы функций BN_*.

      Тестирование и проактивная защита:

    • Добавлена поддержка теста Wycheproof для тестовых векторов ECDH, RSASSA-PSS, AES-GCM, AES-CMAC, AES-CCM, AES-CBC-PKCS5, DSA, ChaCha20-Poly1305, ECDSA, X25519. Исправлены ошибки, выявленные в ходе тестирования.
    • Добавлены тесты алгоритмов шифрования, включая все шифры TLS 1.2. Добавлены ослепляющие значения при генерации подписей DSA и ECDSA для усложнения проведения атак с утечкой приватного ключа по сторонним каналам.
    • Добавлены timing-safe сравнения для проверки результатов верификации подписи.
    • Добавлена поддержка скалярного умножения эллиптических кривых за константное время. От Билли Брумли (Billy Brumley) и его команды из Технологического университета Тампере.

      Внутренние улучшения:

    • Упрощены генерация и верификация сигнарутры обмена ключами.
    • Ещё больше кода теперь использует CBB/CBS. В частности, все сообщения-приветствия (handshake) теперь создаются CBB. Обмен ключами RSA упрощён и использует отдельные буферы для хранения секретных данных.
    • Упрощены разбор и обработка сессионных билетов (session tickets), по мотивам изменений в BoringSSL.
    • Прекращена обработка AES-GCM в ssl_cipher_get_evp, так как там используется интерфейс EVP_AEAD.
    • Прекращено использование составных EVP_CIPHER AEAD.
    • Убраны неиспользуемые флаги SSL3_FLAGS_DELAY_CLIENT_FINISHED и SSL3_FLAGS_POP_BUFFER при записи, что упростило организацию ввода-вывода.
    • BN_clear(3) теперь использует explicit_bzero(3).
    • Почищены BN_* вслед за изменениями, сделанными в OpenSSL Давидом Галаси (Davide Galassi) и другими.
    • Проведена ревизия реализации RSASSA-PKCS1-v1_5 на предмет соответствия RFC 8017, базируясь на коммите Дэвида Бенджамина (David Benjamin) в OpenSSL.

      Исправления ошибок:

    • Исправлено переполнение на один байт буфера у пользователей EVP_read_pw_string(3).
    • Исправлены различные утечки памяти, найденные Coverity.
    • Больше функций в публичных API теперь используют константные аргументы.
    • Корректное очищение текущего состояния шифратора при смене состояния. Это исправляет проблему когда пересогласование заменяет AEAD-шифр на не-AEAD или наоборот. О проблеме сообщил Бернард Спил (Bernard Spil).
    • Исправлена пара ошибок более чем двадцатилетней давности в X509_NAME_add_entry(3).
    • Исправлены потенциальные утечки памяти при ошибке в ASN1_item_digest(3).
    • Исправлена потенциальная ошибка выравнивания памяти в asn1_item_combine_free().
    • Исправлены небольшие сторонние каналы утечки, связанные со временем, в ecdsa_sign_setup() и dsa_sign_setup().
    • Добавлены пропущенные проверки на допустимые границы в c2i_ASN1_BIT_STRING().
    • Исправлена потенциальная утечка / ошибка при возврате значения в механизме генерации DSA-подписи.

    Mandoc 1.14.4

    • В HTML-выводе, многие mdoc(7)-макросы теперь используют более подходящие HTML-элементы.
    • В HTML-выводе убраны почти все атрибуты «style» и часть избыточных «class».
    • Первые шаги в сторону responsive design: @media в mandoc.css, HTML-элемент meta viewport, из генерируемого кода убраны все жёсткие размеры.
    • Множество улучшений в стилях в mandoc.css.
    • Более чем 15 новых низкоуровневых возможностей roff(7) и GNU man-ext. Mandoc теперь может форматировать руководства groff.

    Порты и пакеты:

    • Программа update-plist(1) была полностью переписана и теперь практически без ошибок обрабатывает ситуации с MULTI_PACKAGES и раскрытием переменных.
    • Новые пакеты теперь инициируют запуск средств вроде update-desktop-database лишь один раз за сессию вместо запуска после каждого добавления/удаления пакета.
    • Страницы руководства по системе портов (bulk(8), dpb(1) и другие) теперь включены в базовую поставку и поэтому доступны даже без дерева портов.

      Подготовлено пакетов ко дню релиза, по архитектурам:

    • aarch64 (arm64): 8139
    • amd64: 10304
    • i386: 10230

      Пакеты для нижеследующих архитектур будут доступны по мере того как их сборка будет закончена:

    • arm
    • mips64
    • mips64el
    • powerpc
    • sparc64

    Из находящихся в портах приложений, отмечены:

    • AFL 2.52b
    • CMake 3.10.2
    • Chromium 69.0.3497.100
    • Emacs 21.4 и 26.1
    • GCC 4.9.4
    • GHC 8.2.2
    • Gimp 2.8.22
    • GNOME 3.28.2
    • Go 1.11
    • Groff 1.22.3
    • JDK 8u172
    • LLVM/Clang 6.0.1
    • LibreOffice 6.1.1.2
    • Lua 5.1.5, 5.2.4 и 5.3.5
    • MariaDB 10.0.36
    • Mono 5.14.0.177
    • Mozilla Firefox 60.2.2esr и 62.0.3
    • Mozilla Thunderbird 60.2.1
    • Mutt 1.10.1 и NeoMutt 20180716
    • Node.js 8.12.0
    • OCaml 4.03.0
    • OpenLDAP 2.3.43 и 2.4.46
    • PHP 5.6.38, 7.0.32, 7.1.22 и 7.2.10
    • Postfix 3.3.1 и 3.4-20180904
    • PostgreSQL 10.5
    • Python 2.7.15 и 3.6.6
    • R 3.5.1
    • Ruby 2.3.7, 2.4.4 и 2.5.1
    • Rust 1.29.2
    • Sendmail 8.16.0.29
    • SQLite3 3.24.0
    • Sudo 1.8.25
    • Tcl/Tk 8.5.19 и 8.6.8
    • TeX Live 2017
    • Vim 8.1.438
    • Xfce 4.12

    Компоненты от сторонних разработчиков, входящие в состав OpenBSD 6.3:

    • Графический стек Xenocara на базе X Server 1.19.6 c патчами, freetype 2.9.1, fontconfig 2.12.4, Mesa 13.0.6, xterm 331, xkeyboard-config 2.20;
    • LLVM/Clang 6.0.0 с патчами
    • GCC 4.2.1 (с патчами) и 3.3.6
    • Perl 5.24.3 (с патчами)
    • NSD 4.1.25
    • Unbound 1.8.2
    • Ncurses 5.7
    • Binutils 2.17 (с патчами)
    • Gdb 6.3 (с патчами)
    • Awk версия от 10 августа 2011 года
    • Expat 2.2.6

    Источник: [ссылка]

Релиз СУБД PostgreSQL 11

После года разработки опубликована новая стабильная ветка СУБД PostgreSQL 11. Обновления для новой ветки будут выходить в течение пяти лет до октября 2023 года. Основное внимание при подготовке новой ветки было уделено расширению функциональности в областях управления очень большими базами данных и разработки приложений для масштабируемой обработки больших данных.

Основные новшества:

  • Добавлена возможность применения JIT-компиляции (Just-in-Time) для ускорения выполнения некоторых выражений в процессе обработки SQL-запроса. Например, JIT применим для ускорения выполнения выражений внутри блоков «WHERE», в выходных списках (target lists), агрегатных выражениях и проекциях. JIT также задействован для ускорения некоторых внутренних операций. Предложенный JIT-компилятор построен на основе наработок LLVM и для включения требует установки дополнительных зависимостей, связанных с LLVM. Включение осуществляется настройкой «jit = on» в файле конфигурации или командой «SET jit = on» в интерактивном сеансе;
  • Добавлен новый вид хранимых процедур, позволяющих использовать транзакции. Процедуры определяются с использованием синтаксиса SQL и позволяют использовать все средства управления транзакциями. Поддержка транзакций в процедурах даёт возможность создавать более продвинутые серверные обработчики, например, для пакетной загрузки данных. Для определения хранимых процедур с транзакциями добавлена новая команда CREATE PROCEDURE. Для выполнения процедуры используется команда CALL. К SQL-процедурам также можно обращаться из хранимых процедур на PL/pgSQL, PL/Perl, PL/Python и PL/Tcl;
  • Улучшения, связанные с секционированием (партицированием):
    • Реализована поддержка секционирования данных по хэшу, которая позволяет секционировать таблицы не только по диапазонам значений и спискам, но и по произвольным ключам.
    • Обеспечена корректная маршрутизация операций INSERT, UPDATE и COPY для секционированных таблиц, обрабатываемых с использованием модуля postgres_fdw (логически объединяет таблицы с нескольких серверов);
    • Представлена секция «catch-all», которая используется по умолчанию для данных, не соответствующих ключу секции, и позволяет применять первичные ключи, внешние ключи, индексы и триггеры над секционированными таблицами.
    • Обеспечено автоматическое перемещение записей в корректную секцию, в случае изменения в записи ключа для выбора секции;
    • Увеличена производительность запросов при чтении данных из секций;
    • Добавлена возможность применения операции «upsert» (добавить-или-модифицировать) к секционированным таблицам, что позволяет упростить код приложений и снизить число сетевых запросов;
  • Проведена работа по увеличению производительности параллельной обработки запросов. Увеличена производительность распараллеливания операций последовательного сканирования и слияния хэшей. Добавлена возможности распараллеливания операций при выполнении команд «CREATE TABLE … AS», «CREATE MATERIALIZED VIEW» и блоков UNION. В команду «CREATE INDEX» реализована параллельная обработка данных при построении индексов B-tree;
  • Обеспечена возможность обойтись без полной перезаписи таблицы при выполнении «ALTER TABLE … ADD COLUMN» при отличающемся от null значении столбца по умолчанию;
  • В «CREATE INDEX» добавлена опция INCLUDE для создания индекстов-обёрток, включающих дополнительные столбцы;
  • В оконные функции добавлена поддержка всех опций «рамок окна» (window frame), определённых в стандарте SQL:2011, включая возможность использования RANGE для PRECEDING/FOLLOWING, режима GROUPS и опций исключения рамок;
  • В интерфейс командной строки в дополнение к штатной команде «q» добавлены более привычные для новичков команды «quit» и «exit».

Источник: [ссылка]

Релиз Ubuntu 18.10

Состоялся релиз дистрибутива Ubuntu 18.10 «Cosmic Cuttlefish». Установочные образы созданы для Ubuntu Desktop, Ubuntu Server, Ubuntu Cloud, Kubuntu, Ubuntu Budgie, Lubuntu, Ubuntu Studio, Ubuntu Kylin, Ubuntu MATE и Xubuntu.

Основные новшества:

  • По умолчанию графическое окружение переведено на использование Wayland, после временного отката на графический стек X.Org в LTS-выпуске 18.04. Рабочий стол обновлён до GNOME 3.30. Вместо темы оформления Ambiance по умолчанию задействована новая GTK-тема Yaru (Communitheme), разработанная совместными усилиями сообщества.
  • По умолчанию применён набор пиктограмм «Suru» и новый набор типовых аватаров для пользовательских сеансов;
  • В GNOME Disks добавлена поддержка шифрования разделов при помощи пакета VeraCrypt;
  • Добавлена отдельная панель для управления устройствами с интерфейсом Thunderbolt. Панель динамическая и отображается только если в системе присутствует поддерживаемое оборудование;
  • Большее число компонентов GNOME Shell переведено на кэширование в памяти GPU. Повышена производительность отрисовки. Для экономии ограниченных ресурсов сглаживание при предпросмотре окон теперь включается только при наличии достаточно мощных CPU/GPU;
  • В диалог с информацией о возникшей проблеме добавлена опция для автоматической отправки отчётов об ошибках;
  • В репозиторий main добавлены библиотеки для разблокировки при помощи распознавания отпечатков пальцев;
  • В Snap добавлена поддержка порталов xdg-desktop-portal (XDG Portals) для управляемого доступа к ресурсам вне контейнера;
  • В архив пакетов добавлено расширение GS Connect для GNOME Shell, обеспечивающее интеграцию с Android-приложением KDE Connect. Приложение KDE Connect обеспечивает бесшовную интеграцию со смартфоном, например, на рабочем столе отображаются поступающие SMS, выводятся уведомления о звонках и предупреждения о пропущенном вызове, появляется доступ к файлам на телефоне, предоставляются средства для управления воспроизведением музыки с телефона, отображается информация о заряде аккумулятора телефона, производится синхронизация буфера обмена;
  • Улучшен инструментарий для кросс-компиляции, добавлена возможность сборки для платформ ARM в окружениях на базе архитектуры POWER;
  • Ядро Linux обновлено до версии 4.18;
  • Обновлены версии приложений и системных компоненов, в том числе X.Org Server 1.20.1, Mesa 18.2, GCC 8.2, Glibc 2.28, QEMU 2.12, OpenJDK 11, OpenSSL 1.1.1, boost 1.67, rust 1.28, Python 3.6.7 (плюс в качестве опции Python 3.7.1), ruby 2.5.1, php 7.2.10, perl 5.26.2, Golang 1.10.4, LibreOffice 6.1.2.
  • В Kubuntu, Ubuntu MATE, Ubuntu Studio, Ubuntu Kylin и Ubuntu Budgie прекращено формирование 32-разрядных сборок (*-desktop-i386.iso). Для загрузки теперь предлагаются только сборки для архитектуры x86_64. Напомним, что формирование 32-разрядных сборок Ubuntu Server было прекращено начиная с выпуска 18.04, а Ubuntu Desktop с выпуска 17.10. Поддержка репозиториев с пакетами для архитектуры i386 пока сохранена;
  • В Ubuntu Server по умолчанию предложен новый инсталлятор Subiquity, предоставляющий удобный Live-сеанс и позволяющий установить Ubuntu Desktop для пользователей серверных систем. По функциональности Subiquity пока отстаёт от ранее предлагаемого инсталлятора, поэтому дополнительно предлагается образ с классическим «debian-installer». В Subiquity реализован консольный интерфейс для разбивки дисков, выбора языка и раскладки клавиатуры, создания пользователей, настройки сетевого соединения, настройки RAID, LVM, VLAN и агрегирования сетевых интерфейсов. Возможна автоматизированная установка по профилю конфигурации, определённому в формате JSON;
  • Механизм отправки статистики о системе пользователя расширен передачей сведений о числе дисков и размере примонтированных разделов. Напомним, что отправка телеметрии включена по умолчанию, но может быть отключена в настройках приватности или на экране начальной настройки, выводимом при первом запуске дистрибутива;
  • Для упаковки компонентов установочного образа задействован алгоритм сжатия Zstd, обеспечивающий одно из лучших соотношений уровня сжатия к производительности;
  • В Lubuntu по умолчанию предложен рабочий стол LXQt (Qt Lightweight Desktop Environment), развиваемый объединённой командой разработчиков проектов LXDE, Razor-qt и Hawaii.
  • Kubuntu: В LibreOffice по умолчанию задействован новый фронтэнд на базе Qt5 и KDE Frameworks 5, предлагающий оформление, приведённое к общему стилю рабочего стола KDE Plasma. Окружение рабочего стола обновлено до KDE Plasma 5.13, Qt 5.11 и KDE Applications 18.04.3. В менеджере установки приложений Discover по умолчанию включена поддержка пакетов в формате Snap. Для тестирования предложен сеанс на базе Wayland (опциональный пункт «Plasma (Wayland)» на экране входа). Поддержка Wayland не войдёт в финальный релиз (в релизе потребуется доустановить пакет plasma-workspace-wayland);
  • Ubuntu Budgie: Предложен выпуск Budgie Desktop 10.5. Вместо Chromium по умолчанию задействован браузер Firefox. Из поставки удалён TLP, так как при использовании ядра 4.18 для новых систем достаточно штатных настроек для снижения энергопотребления. В Budgie Welcome для установки предложен новый набор апплетов для показа прогноза погоды, быстрого просмотра избранных директорий, просмотра «корзины», прикрепления в меню и на панель ярлыков часто используемых приложений, отображения недавно вызванных элементов меню, выбора разных профилей для браузера. Для повышения производительности некоторые апплеты переписан с Python на Vala.
  • Ubuntu MATE: Как и в прошлом выпуске поставляется MATE 1.20 и все изменения в основном связаны с исправлением ошибок и дополнительной стабилизацией кодовой базы;

Источник: [ссылка]

Злоумышленники добавили вредоносный код в скрипт установки хостинг-панели VestaCP

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

Индикатором утечки данных является наличие в логе запросов вида «http://vestacp.com/test/?ip=x.x.x.x». Если данная активность наблюдается, то вероятно уже недостаточно просто сменить пароль администратора. После получения параметров доступа, атакующие устанавливали бэкдор, который мог выглядеть как системный файл /usr/bin/dhcprenew, реализующий командный сервер для участия в совершении DoS-атак и предоставляющий скрытый shell. После запуска указанный бэкдор маскируется под видом процесса «[kworker/1:1]».

В ходе начального разбора инцидента выяснилось, что код удалось изменить в результате взлома некоторых серверов инфраструктуры проекта. Взлом произведён при помощи новой уязвимости, вызванной ошибкой в API, появившейся в апрельском выпуске 0.9.8-20. Проблемы устранены в выпуске 0.9.8-23. Дополнительные подробности пока не сообщаются.

Источник: [ссылка]

Релиз web-браузера Chrome 70

Компания Google представила релиз web-браузера Chrome 70. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, возможностью загрузки модуля Flash по запросу, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.

Основные изменения в Chrome 70:

  • Пользователю предоставлена возможность выборочной активации дополнений только для определённых сайтов, с запретом применения дополнений для сайтов, не включённых в белый список. Также доступен режим индивидуальной активации дополнения на каждой странице, при котором дополнение включается только после явного клика на значке в панели. Указанные возможности можно использовать для защиты от скрытого совершения дополнениями нецелевых действий, таких как выуживание со страницы персональных данных или подстановки рекламы;
  • Добавлена возможность перезагрузки разом нескольких вкладок — теперь можно выделить группу вкладок и нажать «Ctrl+R» или кнопку «Reload» в контекстном меню;
  • Добавлен экспериментальный режим быстрого переключения на открытую вкладку из списка рекомендаций в адресной строке («Switch to this tab» в chrome://flags/#omnibox-tab-switch-suggestions). Для страницы, уже открытой в другой вкладке, будет показана кнопка для быстрого перехода к этой вкладке;
  • Завершён трёхэтапный процесс изменения индикации безопасности соединения — убран значок с изображением замка для HTTPS, а цвет надписи «Not Secure» для соединений HTTP заменён с серого на красный.
  • В адресную строку добавлен индикатор «File» для выделения доступа к локальным ресурсам. Ранее предложенное изменение, убирающие отображение схемы «file://» в адресной строке, отклонено.
  • Учтено недовольство пользователей добавлением в Chrome 69 автоподключения к учётной записи и оставлением Cookie Google после применения функции удаления всех Cookie. В новой версии предложена настройка «Allow Chrome sign-in», позволяющая выключить привязку входа в Chrome с входом в сервисы Google. Функция удаления всех Cookie теперь очищает все без исключения Cookie, включая сессионные Cookie от Google. При очистке Cookie также автоматически разрывается подключение браузера к учётной записи Google.

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

  • Обеспечен автоматический выход из полноэкраного режима в случае отображения любых диалоговых окон, специальных запросов на аутентификацию, форм проведения платежей и окон выбора файлов. Выход из полноэкранного режима производится, чтобы исключить ситуации, когда злоумышленник может подтолкнуть пользователя к неверным действиям, манипулируя изменением окружающего контекста;
  • Для платформы Windows 10 активирован API Web Bluetooth, ранее доступный только на платформах Android, Chrome OS и macOS. Web Bluetooth позволяет web-приложениям получить доступ к внешним устройствам, связанным через протокол Bluetooth Low Energy (BLE). Например, при помощи нескольких строк код на JavaScript можно получить доступ к внешним сенсорам, принтерам или экранам. Web Bluetooth API использует протокол GATT. Для обнаружения устройств применяется механизм Physical Web, позволяющий быстро получать ссылки на окружающие объекты при помощи Bluetooth-меток Eddystone;
  • В сборки для Windows добавлена возможность установки web-приложений, работающих в режиме Desktop Progressive Web Apps, который позволяет организовать работу с web-приложением, как с обособленной программой;
  • Добавлен «Origin Trial» для API Shape Detection, предоставляющий функциональность для распознавания наличия различных элементов на изображениях. На основе Shape Detection API созданы более высокоуровневые Face Detection API, Barcode Detection API и Text Detection API. На основе переданного при вызове битмапа API Face Detection вернёт позиции лиц, а также позиции глаз, носа и губ для каждого выявленного лица. Barcode Detection API позволяет декодировать штрихкоды и QR-коды в текстовый вид. Text Detection API позволяет получить текстовое представление текста, имеющегося в изображении (поддерживается только распознавание символов Latin-1);
  • В Web Authentication API расширены возможности, связанные с типом учётных данных PublicKeyCredential, применяемом для аутентификации на сайте с использованием USB-токенов и биометрических датчиков. Помимо работы на версиях Chrome для настольных систем, PublicKeyCredential теперь доступен и для платформы Android. Включена по умолчанию поддержка биометрических датчиков macOS TouchID и Android Fingerprint;
  • В тег «script» добавлена поддержка атрибута «referrerpolicy», позволяющего контролировать какие данные будут передаваться в заголовке Referrer (ранее данный атрибут поддерживался для элементов a, link, area, img и iframe);
  • Реализован интерфейс Intervention report, позволяющий информировать серверное приложение о решении браузера не выполнять запрос из соображений безопасности, производительности и раздражения пользователя. Уведомление отправляется внутри HTTP-заголовка Report-To;
  • В конструктор worker-ов добавлен новый атрибут name, позволяющий отличать выносные фоновые обработчики (dedicated worker) по имени, когда с одним URL связано несколько обработчиков;
  • Добавлена поддержка финальной спецификации протокола TLS 1.3 (RFC 8446), который отличается удалением устаревших и ненадёжных криптографических примитивов (MD5, SHA-224) и возможностей (сжатие, повторное согласование, не-AEAD шифры, статический обмен ключами RSA и DH, указание unix-времени в Hello-сообщениях и т.п.), работает только в режиме forward secrecy (компрометации одного из долговременных ключей не позволяет расшифровать перехваченный сеанс), обеспечивает более высокую производительность, поддерживает режим 0-RTT (устраняет задержки при возобновлении ранее установленных HTTPS-соединений), поддерживает потоковый шифр ChaCha20, алгоритм аутентификации сообщений (MAC) Poly1305, ключи аутентификации на основе цифровых подписей Ed25519, HKDF (HMAC-based Extract-and-Expand Key Derivation Function), ключи на основе алгоритмов x25519 (RFC 7748) и x448 (RFC 8031);
  • Стабилизирован метод Array.prototype.sort;
  • В JavaScript-движке V8 реализована поддержка техники Embedded builtins, позволяющей экономить память благодаря применению общего сгенерированного кода в разных изолированных обработчиках V8. Оптимизация включена для всех платформ, за исключением ia32;
  • Для WebAssembly добавлена экспериментальная поддержка многопоточности (включение через chrome://flags/#enable-webassembly-thread);
  • Прекращена поддержка AppCache (технология для организации работы web-приложения в offline-режиме). В качестве причины называется желание избавиться от одного из векторов для совершения атак, связанных с межсайтовым скриптингом.

Кроме нововведений и исправления ошибок в новой версии устранено 40 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 23 премии на сумму 22 тысячи долларов США (по одной премии в $3500 и $2000, три премии $3000, пять премий $1000 и пять премий $500). Размер 3 вознаграждений пока не определён.

Источник: [ссылка]

СУБД MongoDB переведена на новую лицензию, которая пока не проверена на открытость

Компания MongoDB, развивающая одноимённую документо-ориентированную СУБД, объявила об изменении условий распространения исходных текстов проекта и переводе кода с AGPLv3 на новую лицензию SSPL (Server Side Public License), в которой расширяются требования при использовании приложений как сервисов в облачных системах. Все значительные и корректирующие выпуски MongoDB, начиная с 16 октября будут формироваться под новой лицензией.

Вики Брассёр (Vicky Brasseur), вице-президент организации OSI (Open Source Initiative), предупредила пользователей, что лицензия SSPL совсем недавно была передана в OSI для проверки соответствия критериям Open Source и пока не добавлена в список открытых лицензий. Проблема в том, что процесс проверки был запущен не до, а после перелицензирования кода и непонятно сколько времени он может занять и будет ли вообще лицензия SSPL признана открытой.

Обычно лицензии передают на проверку заранее, а код перелицензируют после официального одобрения. До окончания проверки лицензия SSPL не является открытой и перелицензированный код MongoDB формально не попадает в категорию Open Source. Пользователям СУБД MongoDB рекомендуется дождаться утверждения SSPL и пока оставаться на версиях, выпущенных до 16 октября.

Мэтью Гаррет (Matthew Garrett), известный разработчик ядра Linux и один из директоров Фонда Свободного ПО, изучил новую лицензию и пришёл к выводу, что добавленные изменения формально соответствуют определению открытых лицензий. Текст SSPL основан на AGPLv3, а различия сводятся к замене 13 раздела AGPLv3 на требование поставки не только кода самого приложения, но и исходных текстов всех компонентов, вовлечённых в предоставление облачного сервиса, используя для них указанные в SSPL условия лицензирования.

Тем не менее, в SSPL имеются и спорные моменты, требующие дополнительного изучения. Больше всего вопросов создаёт требование публикации под условиями SSPL всего кода, используемого для обеспечения работы сервиса. Мэтью полагает, что, возможно, подобное требование не позволит использовать MongoDB в сервисах, запущенных на базе Linux, так как GPL и другие копилефт лицензии запрещают перелицензирование чужого кода. Если юристы подтвердят данное опасение, то создателям облачных сервисов с MongoDB придётся использовать BSD-системы или купить платную версию MongoDB.

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

Источник: [ссылка]

Выпуск открытого 4G-стека srsLTE 18.09

Опубликован выпуск srsLTE 18.09, открытого стека для развёртывания компонентов сотовых сетей LTE/4G без наличия спецоборудования, используя только универсальные программируемые приёмо-передатчики, форма сигнала и модуляция которых задаётся программно (SDR, Software Defined Radio). Код проекта поставляется под лицензией AGPLv3.

SrsLTE включает реализацию LTE UE (User Equipment, клиентские компоненты для подключения абонента к сети LTE), базовой станции LTE (eNodeB, E-UTRAN Node B), а также элементов опорной сети LTE (MME — Mobility Management Entity для взаимодействия с базовыми станциями, HSS — Home Subscriber Server для хранения базы абонентов и информации о привязанных к абонентам услугах, SGW — Serving Gateway для обработки и маршрутизации пакетов для базовых станций, PGW — Packet Data Network Gateway для присоединения абонента к внешним сетям.

В новой версии увеличена производительность декодировщика кодов Turbo, используемых для коррекции ошибок, возникающих при передаче данных по зашумлённому каналу связи. Добавлена возможность настройки имени интерфейса SGi и параметров M1U. Реализована поддержка механизма GPTU Echo (General Purpose Transfer Unit). Добавлена возможность отсоединения клиентского окружения. Проведён рефакторинг классов RLC/PDCP. Решены многие проблемы, проявляющиеся на ARM-устройствах. Добавлена поддержка плат bladeRF 2.0 micro. Внесены оптимизации производительности.

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

  • Система может работать с любыми программируемыми приёмо-передатчиками, поддерживаемыми драйверами Ettus UHD (Universal Hardware Driver) и bladeRF и способными работать на частоте 30.72 MHz. Работа srsLTE протестирована с платами USRP B210, USRP B205mini, USRP X300, limeSDR и bladeRF;
  • Высокоскоростной оптимизированный декодировщик, использующий инструкции Intel SSE4.1/AVX2 для достижения производительности более 100 Mbps на обычном оборудовании. Стандартная реализация декодировщика на языке Си, обеспечивающего производительность на уровне 25 Mbps;
  • Полная совместимость с 8 версией стандарта LTE и частичная поддержка некоторых возможностей из 9 версии;
  • Наличие конфигурации для работы в режиме частотного разделения каналов (FDD);
  • Протестированные частоты: 1.4, 3, 5, 10, 15 и 20 MHz;
  • Поддержка режимов передачи 1 (single antenna), 2 (transmit diversity), 3 (CCD) и 4 (closed-loop spatial multiplexing);
  • Эквалайзер с поддержкой частотного кодирования ZF и MMSE;
  • Поддержка создания сервисов для доставки мультимедийного контента в режима broadcast и multicast;
  • Возможность ведения детальных логов с привязкой к уровням и отладочными дампами;
  • Cистема захвата пакетов на уровне MAC, совместимая с сетевым анализатором wireshark;
  • Доступность метрик с данными трассировки в режиме командной строки;
  • Детализированные файлы конфигурации;
  • Реализация уровней LTE MAC, RLC, PDCP, RRC, NAS, S1AP и GW.
  • Источник: [ссылка]

Firefox, Chrome, Edge и Safari прекратят поддержку TLS 1.0 и TLS 1.1

Разработчики браузеров Firefox, Chrome, Edge и Safari предупредили о грядущем прекращении поддержки протоколов TLS 1.0 и TLS 1.1:

  • В Firefox поддержка TLS 1.0/1.1 будет прекращена в марте 2020 года, но в тестовых и ночных сборках данные протоколы будут отключены раньше.
  • В Chrome поддержка TLS 1.0/1.1 будет прекращена начиная с Chrome 81 который ожидается в январе 2020 года. В Chrome 72, который выйдет в январе 2019 года, при открытии сайтов с использованием TLS 1.0/1.1 начнёт выводится специальное предупреждение о применении устаревшей версии TLS. Настройка, дающая возможность вернуть поддержку TLS 1.0/1.1 будет сохранена до января 2021 года.
  • В Safari и движке WebKit поддержка TLS 1.0/1.1 будет прекращена в марте 2020 года.
  • В Microsoft Edge и Internet Explorer 11 удаление TLS 1.0 и TLS 1.1 ожидается в первой половине 2020 года.

Спецификация TLS 1.0 была опубликована в январе 1999 года. Спустя семь лет было выпущено обновление TLS 1.1 с улучшениями безопасности, связанными с генерацией векторов инициализации и добавочного заполнения. В настоящее время комитет IETF (Internet Engineering Task Force), занимающийся развитием протоколов и архитектуры интернета, уже опубликовал черновик спецификации, переводящей протоколы TLS 1.0/1.1 в разряд устаревших.

Подавляющее большинство пользователей и серверов уже применяют TLS 1.2+:

  • Доля запросов с использованием TLS 1.0 в Web составляет 0.4% для пользователей Chrome и 1% для пользователей Firefox.
  • Из миллиона крупнейших сайтов по рейтингу Alexa только 2% ограничены TLS 1.0 и 0.1% — TLS 1.1.
  • По статистике Cloudflare около 9.3% запросов через сеть доставки контента данной компании производится с использованием TLS 1.0. TLS 1.1 используется в 0.2% случаев.
  • По данным сервиса SSL Pulse компании Qualys протокол TLS 1.2 поддерживают 94% web-сайтов, допускающих установку защищённых соединений.
  • Данные Mozilla, собранные через систему телеметрии в Firefox, показывают, что лишь 1.11% защищённых соединений было установлено с использованием протокола TLS 1.0. Для TLS 1.1 этот показатель составляет 0.09%, для TLS 1.2 — 93.12%, для TLS 1.3 — 5.68%.

Главными проблемами TLS 1.0/1.1 является отсутствие поддержки современных шифров (например ECDHE и AEAD) и требование поддержки старых шифров, надёжность которых на современном этапе развития вычислительной техники поставлена под сомнение (например, требуется поддержка TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, для проверки целостности и аутентификации используется MD5 и SHA-1). Поддержка устаревших алгоритмов уже приводила к появлению таких атак, как ROBOT, DROWN, BEAST, Logjam и FREAK. Тем не менее, данные проблемы непосредственно не являлись уязвимостями протокола и закрывались на уровне его реализаций. В самих протоколах TLS 1.0/1.1 отсутствуют критические уязвимости, которые можно использовать для осуществления практических атак.

Источник: [ссылка]

Открытый проект Bro переименован в Zeek из-за негативной коннотации

Спустя 24 года c момента основания проекта разработчики открытой системы мониторинга трафика и выявления сетевых вторжений Bro приняли решение переименовать продукт. В качестве нового имени выбрано Zeek, так называлась учётная запись под которой запускались процессы Bro на раннем этапе развития проекта.

Утверждается, что переименование вынужденная мера, принятая в ответ на отрицательное отношение современного общества к субкультуре «Bro» и феномену «Blockchain bros» (образовавшееся вокруг криптовалют сообщество состоит преимущественно из мужчин и основывается исключительно на способностях, игнорируя попытки введения квот для женских выступлений на конференциях и инициативы по привлечению в сообщество большего числа женщин).

Изначально имя «Bro» было выбрано для проекта как отсылка в «Большому брату» из романа Джорджа Оруэлла «1984». Последнее время всё больше людей не понимают этой связи и рассматривают название не как напоминание о важности соблюдения приватности, а как ассоциацию с субкультурой Bro и непринятием разработчиками идей гендерного равенства и инклюзивности. Например, некоторые пользователи жалуются, что руководство их компаний отказывается утверждать внедрение решений на базе IDS Bro только из-за названия. В сети также активно действуют борцы за социальную справедливость, призывающие не использовать продукты, применяющие дискриминационную терминологию. Например, под давлением подобных активистов недавно проекты Python и Redis были вынуждены уйти от использования слов master и slave.

Источник: [ссылка]

Выпуск операционной системы MidnightBSD 1.0

После двух лет разработки подготоволен релиз десктоп-ориентированной операционной системы MidnightBSD 1.0, основанной на FreeBSD, с элементами, портированными из DragonFly BSD, OpenBSD и NetBSD. Базовое десктоп-окружение построено на основе GNUstep, но пользователи имеют возможность установить WindowMaker, GNOME, Xfce или Lumina. Для загрузки подготовлен установочный образ размером 627 МБ (x86, amd64).

В отличие от других десктоп-сборок FreeBSD, ОС MidnightBSD изначально развивалась как форк FreeBSD 6.1-beta, который в 2011 году был синхронизирован с кодовой базой FreeBSD 7, а впоследствии вобрал в себя многие возможности FreeBSD 9-STABLE и FreeBSD 10-STABLE. Для управления пакетами в MidnightBSD задействована система mport, которая использует БД SQLite для хранения индексов и мета-данных. Установка, удаление и поиск пакетов осуществляется при помощи единой команды mport.

Новый выпуск примечателен портированием некоторых улучшений из FreeBSD 10. В частности, перенесён новый загрузчик, поддержка разделов GPT, возможность загрузки с ФС ZFS, поддержка NVME SSD, новые драйверы для графических чипов AMD Radeon с задействованием аппаратного ускорения, улучшенная поддержка AMD Ryzen и интегрирован гипервизор Bhyve. Из поставки удалены фреймворк для работы с датчиками (имелись проблемы с блокировками) и библиотека Lindev. Утилита sudo заменена на doas из OpenBSD (sudo по-прежнему можно отдельно установить из портов).

Обновлены версии программ и подсистем, в том числе Perl 5.26.0, WPA_Supplicant 2, Bsnmp, Binutils, Dialog 1.2, Expat 2.2.0, file 5.32, LLVM / Clang 3.4.1, gperf 3.0.3, less 530, libarchive 3.2.1 libc-vis 2017/4/30 (netbsd), Netcat, Nvi, OpenPAM, OpenBSM, OpenSSH 7.3p1, openresolv, Pf, Subversion 1.8.17, SQLite 3.20.1, SMBFS, ACPI, Tcsh 6.20, Open ZFS. В базовый состав включены приложения Unbound, Ldns, mandoc 1.14.3 и драйверы для виртуальных окружений на базе Microsoft hyper-v.

Перенесён эмулятор Linux с поддержкой 64- и 32-разрядных исполняемых файлов. Улучшена поддержка оборудования, в том числе 8 поколения процессоров Intel, чипсетов AMD B350, X370 и X399, различных сетевых и беспроводных устройств, включая USB-карты Realtek 802.11n. Из FreeBSD 10.4 перенесены драйверы nvme и nvd, а также поддержка eMMC и графические драйверы.

В пакетном менеджере mport добавлена возможность единовременной установки нескольких пакетов одной командой и решены проблемы с обновлением сразу нескольких пакетов. В mport также обеспечено отслеживание зависимостей и устаревших пакетов с выводом соответствующих предупреждений. Осуществлён переход на новый формат пакетов.

Источник: [ссылка]

Пятое обновление прошивки UBports, пришедшей на смену Ubuntu Touch

Проект UBports, который взял в свои руки разработку мобильной платформы Ubuntu Touch, после того как от неё отстранилась компания Canonical, сформировал обновление прошивки OTA-5 (over-the-air) для всех официально поддерживаемых смартфонов и планшетов, которые были укомплектованы прошивкой на базе Ubuntu. Обновление сформировано для смартфонов OnePlus One, Fairphone 2, Nexus 4, Nexus 5, Nexus 7 2013, Meizu MX4/PRO 5, Bq Aquaris E5/E4.5/M10. Проектом также развивается экспериментальный порт рабочего стола Unity 8, доступный в сборках для Ubuntu 16.04 и 18.04.

В новой версии осуществлён переход на плановое формирование релизов. Новые выпуски отныне будут формироваться в соответствии с заранее определённым графиком. Следующее обновление OTA-6 запланировано на 23 ноября, OTA-7 на 18 января, OTA-8 на 1 марта. Все указанные выпуски будут сформированы на основе Ubuntu 16.04 (сборка OTA-3 была основана на Ubuntu 15.04, а сборка OTA-4 была переведена на Ubuntu 16.04 но отмечена как не полностью стабилизированная, в связи с чем пользователям OTA-3 не было предложено автоматическое обновление);

Основные изменения в OTA-5:

  • Завершён переход с web-движка Oxide (устаревший QtQuick WebView) на QtWebEngine. Вместо приложения «Browser» представлен новый web-браузер Morph Browser, развивавшийся в рамках проекта browser-ng и построенный на актуальной кодовой базе Chromium.
  • Реализовано автоматическое масштабирование интерфейса приложений на базе Qt Quick Controls 2, в зависимости от характеристик экрана. UBports теперь можно использовать не только на смартфонах, но и на планшетах;
  • Добавлена поддержка фреймворка Kirigami 2 (KDE widgets), позволяющего создавать приложения с адаптивным интерфейсом, работающим без изменения на настольных и мобильных системах, таких как Ubuntu Touch и KDE Plasma Mobile;
  • Добавлены новые обои рабочего стола, рингтоны и звуки уведомлений.

В OTA-6 ожидается обновление библиотеки libhybris, переход на Qt 5.9.7 и задействование новой библиотеки для работы с датчиками. В OTA-7 намечен переход на новые версии оболочки Unity8 и дисплейного сервера Mir, а также улучшение средств для запуска приложений на базе Wayland. В OTA-8 запланировано появление полнофункциональной поддержки окружения Anbox для запуска Android-приложений.

Источник: [ссылка]