The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

26.07.2017 Релиз FreeBSD 11.1 (5)
  Спустя год после прошлого значительно выпуска официально представлен релиз FreeBSD 11.1, который доступен для архитектур amd64, i386, powerpc, powerpc64, sparc64, armv6 (BANANAPI, BEAGLEBONE, CUBIEBOARD, CUBIEBOARD2, CUBOX-HUMMINGBOARD, GUMSTIX, Raspberry Pi B, Raspberry Pi 2, PANDABOARD, WANDBOARD) и aarch64 (arm64). Дополнительно подготовлены образы для систем виртуализации (QCOW2, VHD, VMDK, raw) и облачных окружений Amazon EC2.

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

  • Компоненты Clang, libc++, compiler-rt, LLDB, LLD и LLVM обновлены до версии 4.0, из новых возможностей которой можно отметить использование статистики выполнения в оптимизаторе ThinLTO, более агрессивное устранение бесполезного кода, экспериментальную поддержку сопрограмм, улучшение совместимости с GNU ld и значительное увеличение производительности компоновщика LLD;
  • В стандартной Си-библиотеке и системных библиотеках задействован вызов reallocarray для проверки соблюдения границ буферов. Функция reallocarray отличается тем, что производит очистку содержимого выделяемых блоков памяти, по аналогии с calloc(), а также обнуляет или отдаёт системе (unmap) не распределённые блоки памяти;
  • В OpenSSH добавлена поддержка динамического межсетевого экрана blacklistd;
  • В ZFS обеспечена возможность сохранения сжатых данных в кэше, что увеличило эффективность кэширования положительно отразилось на производительности;
  • Добавлена утилита zfsbootcfg для настройки загрузочных опций zfsboot;
  • Добавлена утилита efivar, предоставляющая средства для управления переменными UEFI;
  • В пакетный фильтр ipfw добавлена поддержка именованных динамических состояний. Добавлены новые модули: ipfw_pmod для изменения пакетов любых протоколов, ipfw_nptv6 с реализацией Network Prefix Translation для IPv6 и ipfw_nat64 с реализацией NAT64;
  • В набор FreeBSD Integration Services (BIS), предоставляющий средства для работы в гостевых системах под управлением гипервизора Hyper-V и облачной платформы Azure, добавлена поддержка виртуальных машин с интерфейсом UEFI (Hyper-V Generation-2 VM);
  • Добавлен драйвер ena с поддержкой сетевых адаптеров ENA (Elastic Network Adapter), используемых компанией Amazon в инфраструктуре Elastic Compute Cloud (EC2) для организации связи между узлами EC2;
  • В NFS-клиент добавлена поддержка файловой системы EFS (Amazon Elastic File System);
  • В загрузчике EFI реализована поддержка доступа к удалённым файлам через TFTP, в дополнение к ранее имеющейся поддержке NFS;
  • Реализована сборочная опция WITH_REPRODUCIBLE_BUILD, при которой при сборке не используются специфичные метаданные ядра, что позволяет добиться повторяемых сборок, идентичных при сборке одного кода в разных системах;
  • По умолчанию в ядре включена поддержка NAT-T;


Другие улучшения:

  • Добавлена сборочная опция WITH_LLD_AS_LD для установки компоновщика LLD от проекта LLVM в качестве /usr/bin/ld. На системах FreeBSD/arm64 компоновщик LLD теперь используется по умолчанию;
  • Добавлена сборочная опция WITH_RPCBIND_WARMSTART_SUPPORT для сборки rpcbind с поддержкой режима warmstart, при котором регистрации RPC сохраняются перед завершением работы и загружаются после запуска, что позволят избежать нарушения работы RPC-сервиса при перезапуске;
  • Добавлены средства защиты утилиты bspatch при помощи capsicum;
  • В утилите syslogd появилась поддержка ключевого слова "include", через которое можно определить директорию с файлами конфигурации, помимо базового syslog.conf (по умолчанию теперь дополнительно подключаются /etc/syslog.d и /usr/local/etc/syslog.d);
  • Из NetBSD портирована утилила getaddrinfo, представляющая собой обвязку над одноимённой функцией резолвера;
  • В утилите jail появилась возможность явного назначения IPv4 и IPv6 адресов для использования внутри jail-окружения;
  • В утилиту daemon добавлена поддержка перенаправления вывода stdout и stderr в syslog или в файл;
  • Добавлена утилита cxgbetool, предоставляющая интерфейс для отладки и изменения параметров устройств cxgbe;
  • В установщик bsdinstall добавлена поддержка включения скрытых беспроводных сетей при настройке интерфейса wlan. В bsdinstall также обеспечено сохранение настроек ZFS min_auto_ashift и добавлен режим автоматической конфигурации ZFS для систем ARM64. Проведена работа по целостному использованию конфигурации разделов EFI на всех поддерживаемых платформах;
  • Добавлен новый системный вызов clock_nanosleep();
  • В cloudabi добавлена возможность запуска 32-разрядных исполняемых файлов в 64-разрядном пользовательском окружении, при наличии в настройках ядра включенной опции COMPAT_CLOUDABI32;
  • Добавлен драйвер cfumass, предоставляющий фронтэнд для устройств хранения, подключаемых через USB OTG;
  • В гипервизоре bhyve расширены средства для проброса PCI-устройств;
  • В сетевой стек добавлена поддержка повторной передачи GARP (Gratuitous ARP). Для задания максимального числа повторных передач предложена переменная net.link.ether.inet.garp_rexmit_count;
  • Обеспечена возможность использования системных вызовов cpuset_getaffinity(2) и cpuset_setaffinity(2) в режиме capabilities;
  • Обновлены версии сторонних компонентов, в том числе tcsh 6.20.00, unbound 1.5.10, Subversion 1.9.5, xz 5.2.3, tcpdump 4.9.0, ntpd 4.2.8p10, bmake 20170510.

  1. OpenNews: Из базовой системы FreeBSD будут удалены rcp, rlogin и rsh
  2. OpenNews: Прошивка игровой приставки Nintendo Switch использует компоненты FreeBSD
  3. OpenNews: Отчёт о развитии FreeBSD за первый квартал 2017 года
  4. OpenNews: Релиз FreeBSD 11.0
Обсуждение (5) | Тип: Программы |
25.07.2017 Выпуск web-браузера Chrome 60 (19 –2)
  Компания Google представила релиз web-браузера Chrome 60. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, возможностью загрузки модуля Flash по запросу, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.

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

  • Реализована возможность использования формата кодирования видео VP9 в медиаконтейнерах MP4 (ISO BMFF). Поддержка MP4 потребовала реализации нового строкового формата для определения параметров кодека VP9, который теперь доступен и в различных мультимедийных Web API;
  • Добавлен Paint Timing API, позволяющий отследить время различных стадий отрисовки страницы. При помощи данного API можно выявить узкие места загрузки страницы и проблемные моменты, например, ситуации когда посетителю уже видна ссылка или форма ввода, но из-за того, что JavaScript ещё не загрузился, их обработчики недоступны;
  • Добавлено CSS-свойство font-display и правило @font-face, которые дают возможность определить как и когда отображать текстовое содержимое, если шрифт ещё не загрузился. Ранее при использовании внешних шрифтов отрисовка текста не производилась до окончания загрузки шрифта. Теперь текст можно отобразить сразу, временно используя шрифт по умолчанию;
  • В API Credential Management API, предоставляющий сайтам возможность сохранять и запрашивать учётные данные пользователя, добавлена возможность получения пользовательского пароля непосредственно в составе структуры PasswordCredential, без необходимости подключения обработчика при помощи метода fetch(). Для точного следования спецификациям, развиваемым рабочей группой W3C Web Authentication Working Group, свойство requireUserMediation переименовано в preventSilentAccess;
  • В Chrome для настольных систем обеспечена возможность использования API Payment Request, позволяющего организовать быстрое совершение платежей при помощи кредитной карты, без необходимости повторного ручного ввода типовой информации, такой как данные о плательщике, номер карты (для подтверждения вводится CVC-код) и адрес доставки;
  • Сайтам предоставлена возможность собирать платежи через собственные Android-приложения, используя Payment Request API;
  • Добавлена поддержка нового синтаксиса клонирования и объединения объектов. Например, для клонирования вместо "Object.assign({}, data)" теперь можно указать "{ ...data }", а для объединения "{ ...defaultSettings, ...userSettings }";
  • Представлен новый API Web Budget, который позволяет сайтам запросить права на отправку ограниченного числа push-сообщений, приводящих в выполнению фоновых работ, таких как синхронизация данных, без вывода видимого для пользователя уведомеления. API разработано в рамках инициативы по подавлению активности в фоновых вкладках;
  • Добавлена поддержка формата Web Push Encryption (шифрованные push-сообщения), для определения использования которого можно применять свойство PushManager.supportedContentEncodings;
  • Добавлен атрибут PushSubscription.expirationTime, который предоставляет информацию об истечении времени подписки на push-уведомления;
  • Для увеличения производительности и предсказуемости поведения, события pointermove и mousemove, теперь доставляются один раз на каждый AnimationFrame, что соответствует поведению событий scroll и TouchEvents;
  • Добавлен псевдо-класс CSS ":focus-within", влияющий на работу любых элементов, на которые действует псевдо-класс ":focus", а также на все их потомки;
  • Реализована функция frames(), формирующая на основе заданного значения набор из равных интервалов;
  • Для обеспечения перехвата операций редактирования в InputEvent добавлена возможность обработки пользовательского ввода при помощи скрипта;
  • Для увеличения безопасности диалог BeforeUnload, который вызывается когда пользователь покидает сайт, теперь показывается только если на странице с которой осуществлён вызов производились какие-либо действия пользователя (если закрыть страницу сразу диалог не будет показан). На обработчики событий BeforeUnloadEvent данное изменение пока не распространяется;
  • Переведена в разряд устаревших большая порция API, в том числе WebKitAnimationEvent, WebKitTransitionEvent, RTCPeerConnection.getStreamById(), SVGPathElement.getPathSegAtLength(), indexedDB.webkitGetDatabaseNames(), Headers.prototype.getAll().

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

  1. OpenNews: Выпуск операционной системы Chrome OS 59
  2. OpenNews: Выпуск web-браузера Chrome 59
  3. OpenNews: Google представил план интеграции блокировщика рекламы в Chrome
  4. OpenNews: В Chrome появятся дополнительные предупреждения о небезопасности HTTP
  5. OpenNews: Разработчики Chrome намерены перейти к полной остановке выполнения фоновых вкладок
Обсуждение (19 –2) | Тип: Программы |
25.07.2017 В Firefox добавлен CSS-движок Stylo, написанный на языке Rust (34 +9)
  В ночные сборки Firefox добавлен новый CSS-движок Stylo, развиваемый в рамках проекта Quantum, в котором производится работа по переносу в браузер возможностей, изначально развиваемых для движка Servo. Stylo написан на языке Rust и примечателен распараллеливанием обработки стилей CSS. Для включения нового CSS-движка в about:config следует установить опцию layout.css.servo.enabled=true.

Наиболее заметным эффектом после включения Stylo отмечается увеличение скорости обработки страниц, так как разные CSS-стили обрабатываются параллельно, не блокируя друг друга. В настоящее время работа сосредоточена по оттачиванию кодовой базы и стабилизации Stylo - открытыми остаётся 68 известных проблем, 18 из которых имеют характер блокирующих выпуск. Разработчики намерены оперативно устранить данные проблемы и задействовать Stylo в Firefox 57, запланированном на ноябрь и примечательным модернизацией оформления браузера и полным переходом на WebExtensions.

Тем временем, в ближайшем выпуске Firefox 55, который выйдет 8 августа, будут включены наработки другой инициативы Quantum - Flow, в рамках которой развиваются дополнительные оптимизации для увеличения производительности интерфейса пользователя. Тестирование бета-версии Firefox 55 показало существенное ускорение работы со вкладками и сокращение времени запуска. Тестирование проводилось с профилем, содержащим 1691 (!) вкладку. Если в прошлые выпуски запуск браузера со столь огромным числом вкладок занимал 5-8 минут, то в Firefox 55 ситуация изменилась и на запуск ушло всего 15 cекунд, а потребление памяти снизилось в 4 раза (с 2 до 0.5 Гб, без фактической загрузки содержимого всех страниц).

Из ожидающих внедрения инициатив проекта Quantum также можно отметить Quantum DOM, который обеспечит распараллеливание операций с DOM (Document Object Model). JavaScript-код для разных вкладок и iframe будет выполняться параллельно в отдельных нитях, что позволит увеличить отзывчивость браузера при использовании большого числа открытых вкладок. Для переключения между нитями будет задействован встроенный планировщик совместной многозадачности, переключающий контекст в "безопасные" моменты, например, при вызове функций и в вершине каждой итерации циклов, что позволит минимизировать использование блокировок. Дополнительно планируется реализовать эвристические методы для остановки выполнения кода во второстепенных фоновых вкладках, а также предоставить интерфейс для блокирования бесконечного зацикливания и снижения приоритета ресурсоёмких скриптов.

Текущий браузерный движок Firefox не может в полной мере задействовать потенциал современных многоядерных систем из-за изначального использования однопоточных схем обработки контента. В частности, при обработке одной страницы однопоточным остается связанный с DOM (Document Object Model) внутренний API, функции формирования содержимого окна, парсинга HTML и выполнения JavaScript. Использование Rust позволяет разбить код DOM и рендеринга на более мелкие подзадачи, которые могут выполняться параллельно и более эффективно использовать ресурсы многоядерных CPU. Кроме эффективного распараллеливания операций, используемые в Rust технологии безопасного программирования позволят кардинально поднять уровень безопасности.

  1. OpenNews: Проект Mozilla представил Quantum, комбинированный браузерный движок для Firefox
  2. OpenNews: На 2016 год запланировано задействование в Firefox кода на языке Rust и движка Servo
  3. OpenNews: Разработчики Firefox представили браузер Tofino, использующий технологии Chromium
  4. OpenNews: Началось формирование ночных сборок браузерного движка Servo
  5. OpenNews: В Firefox появилась многопроцессная обработка контента и Quantum Compositor
Обсуждение (34 +9) | Тип: К сведению |
25.07.2017 Adobe прекращает поддержку Flash (79 +33)
  Компания Adobe объявила о переводе Flash в разряд устаревших технологий, окончательно признав первенство штатных технологий HTML5, WebGL и WebAssembly в области разработки интерактивного и мультимедийного web-контента. Сопровождение Flash будет осуществляться до конца 2020 года, после чего обновление и распространение плагина будет прекращено. Компании Mozilla, Google, Apple и Microsoft также заявили о согласованном с Adobe прекращении поддержки Flash в своих браузерах.

Штатные web-технологии, способные заменить Flash, достигли статуса web-стандарта, поддерживаются во всех современных браузерах, обеспечивают хорошую производительность, низкую нагрузку на CPU и более высокую безопасность. Adobe осознаёт полную победу HTML5 и не видит смысла и дальше искусственно продолжать развитие заведомо неперспективной технологии, отныне делая ставку на открытый Web и решения, не требующие установки специальных плагинов. По данным компании Google, если три года назад около 80% пользователей Chrome ежедневно просматривали сайты с Flash, то в настоящее время данный показатель составляет лишь 17% и продолжает снижаться.

Так как многие проекты и компании остаются завязанными на Flash, создателям Flash-контента решено предоставить три года на перевод своих продуктов на другие форматы. Наиболее активно Flash остаётся востребован а области игр, проигрывания видео и систем обучения. Например, доля разрабатываемых Flash-игр примерно соответствует доле игр на базе web-технологий.

До 2020 года выпуск обновлений для Flash-плагина для основных ОС и браузеров будет продолжен. В обновлениях будут исправляться ошибки и устраняться уязвимости, а также будет вестись работа по обеспечению совместимости с браузерами и добавление новых возможностей при возникновении такой необходимости. Adobe продолжит разработку продуктов для создания мультимедийного контента Animate CC и Premiere Pro CC, переориентировав их на использование только web-технологий.

Для организации работы с видео предлагается перейти на API HTML Video и Media Source Extensions, для создания динамической графики и интерактивных систем рекомендуется использовать HTML Canvas и WebGL, для анимации доступны CSS Transitions и CSS Animations, для P2P-коммуникаций имеется WebRTC, а для достижения высокой производительности и интенсивных вычислений можно использовать WebAssembly.

План прекращения поддержки Flash согласован с компаниями Apple, Facebook, Google, Microsoft и Mozilla, которые также сохранят возможность использования Flash в своих продуктах до конца 2020 года. Например, начиная со следующего выпуска Firefox пользователь должен будет явно определить сайты на которых будет активироваться Flash-плагин, а в 2019 году Flash будет полностью отключен по умолчанию в обычных выпусках Firefox, но опционально доступен в ESR-ветке. Не дожидаясь 2020 года Adobe также планирует предпринять более агрессивную политику ухода от Flash в некоторых регионах, в которых наблюдается распространение нелицензионных и устаревших выпусков Flash Player.

  1. OpenNews: Релиз Adobe Flash 24 для Linux
  2. OpenNews: В ночных сборках Firefox прекращена поддержка NPAPI-плагинов, кроме Flash
  3. OpenNews: Adobe возобновляет выпуск NPAPI-плагина с Flash Player для Linux
  4. OpenNews: Компания Adobe начала движение от Flash к web-стандартам
  5. OpenNews: Adobe прекращает распространение Flash-плагина для Linux
Обсуждение (79 +33) | Тип: К сведению |
24.07.2017 Уязвимости в реализации аппаратно изолированных окружений TrustZone (42 +9)
  Исследователи безопасности из группы Zero, созданной компанией Google для предотвращения атак, совершаемых с использованием ранее неизвестных уязвимостей, опубликовали результаты поиска уязвимостей в технологии ARM TrustZone, позволяющей создавать аппаратно изолированные защищённые окружения, в которых выполняется отдельная специализированная операционная система. Основным предназначением TrustZone является обеспечение изолированного выполнения обработчиков ключей шифрования, биометрической аутентификации, платёжных данных и другой конфиденциальной информации.

В исследовании рассмотрены реализации двух TEE-окружений (Trusted Execution Environment) - Qualcomm QSEE и Trustonic Kinibi, применяемых в Android-смартфонах и базирующихся на расширениях ARM TrustZone. Обе системы предоставляют урезанные проприетарные операционные системы, работающие на отдельном виртуальном процессоре и позволяющие выполнять специализированные защищённые обработчики (TA, Trusted Applications"). Защищённые обработчики не могут напрямую взаимодействовать с основной операционной системой Android, их вызов и передача данных осуществляется косвенно, через интерфейс диспетчеризации, работу которого обеспечивает устанавливаемые в основной системе библиотеки, процессы-демоны и модули ядра.

Исследование показало недостаточный уровень безопасности рассмотренных решений, в которых было выявлено несколько уязвимостей, а также одна кардинальная архитектурная недоработка (возможность отката на старую уязвимую версию обработчиков в защищённом окружении), которую невозможно устранить без изменений на аппаратном уровне или снижения стабильности работы устройства. Выполняемые внутри защищённых окружений операционные системы в полной мере не реализуют современные методы блокирования атак (например, защиту от переполнения стека), что позволяет использовать выявленные уязвимости для совершения реальных атак. Проблемы проявляются во всех устройствах на чипах Qualcomm и устройствах на чипах Trustonic Kinibi версии до 400 (т.е. все устройства на базе Samsung Exynos, кроме Galaxy S8 и S8 Plus).

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

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

  1. OpenNews: Извлечение ключей устройств Qualcomm для атаки на зашифрованные разделы в Android
  2. OpenNews: Представлена атака, использующая уязвимость в 4G-чипе смартфонов Huawei
  3. OpenNews: Продемонстрировано использование уязвимости в DRAM-памяти для повышения привилегий в системе
  4. OpenNews: Удалённо эксплуатируемая уязвимость в WiFi-чипах Broadcom
  5. OpenNews: В Android-устройствах на базе чипов Samsung Exynos выявлена необычная уязвимость
Обсуждение (42 +9) | Тип: Проблемы безопасности |
24.07.2017 Выпуск децентрализованного коммуникационного клиента Ring 1.0 (83 +28)
  Представлен стабильный выпуск децентрализованной коммуникационной платформы Ring 1.0, развиваемой в рамках проекта GNU. В отличие от традиционных коммуникационных клиентов Ring способен передавать сообщения без обращения к внешним серверам через организацию прямого соединения между пользователями с применением оконечного шифрования (End-to-end, ключи присутствуют только на стороне клиента) и аутентификации на основе сертификатов X.509. Код распространяется под лицензией GPLv3. Бинарные сборки подготовлены для GNU/Linux (Debian, Ubuntu, Fedora), Windows, macOS и Android.

Кроме защищённого обмена сообщениями, программа позволяет совершать голосовые и видео-звонки, создавать телеконференции, обмениваться файлами, организовывать совместный доступ к файлам и содержимому экрана. Программа поддерживает различные кодеки (G711u, G711a, GSM, Speex, Opus, G.722) и протоколы (ICE, SIP, TLS), обеспечивает надёжное шифрование видео, голоса и сообщений. Имеется режим совместимости с программными телефонами на базе SIP, который может использоваться для совершения звонков при помощи SIP-аккаунта. Из сервисных функций можно отметить переадресацию и удержание вызовов, запись звонков, история вызовов с поиском, автоматический контроль громкости, интеграция с адресными книгами GNOME и KDE.

Для идентификации пользователя в Ring применяется децентрализованный глобальный механизм аутентификации учётных записей, основанный на реализации адресной книги в форме блокчейна (применяются наработки проекта Ethereum). Один идентификатор пользовтеля (RingID) может использоваться одновременно на нескольких устройствах и позволяет связываться с пользователем независимо от того, какое из устройств активно, без необходимости поддержания разных идентификаторов на смартфоне и ПК. Адресная книга, отвечающая за трансляцию имён в RingID, хранится на группе узлов, поддерживаемых разными участниками, в том числе можно запустить свой узел для поддержания локальной копии глобальной адресной книги (Ring также реализует отдельную внутреннюю адресную книгу, поддерживаемую клиентом).

Для адресации пользователей в Ring применяется протокол OpenDHT (распределённая хэш таблица), без применения централизованных реестров c информацией о пользователях. Основу Ring составляет фоновый процесс LibRing, который отвечает за обработку соединений, организацию связи, работу с видео и звуком. Взаимодействие с LibRing построено при помощи библиотеки LibRingClient, которая служит основой для построения клиентского ПО и предоставляет всю типовую функциональность, не привязанную к интерфейсу пользователя и платформам. Поверх LibRingClient создаются непосредственно клиентские приложения, что позволяет достаточно просто создавать и поддерживать различные интерфейсы.

  1. OpenNews: Децентрализованный коммуникационный клиент Ring присоединился к проекту GNU
  2. OpenNews: Tor развивает сервис мгновенного обмена сообщениями, защищённый от слежки
  3. OpenNews: Открыта часть серверного кода сервиса мгновенного обмена сообщениями Wire
  4. OpenNews: Доступна система обмена сообщениями Briar, способная работать в режиме P2P
  5. OpenNews: Проект Tox развивает свободную альтернативу Skype
Обсуждение (83 +28) | Тип: Программы |
24.07.2017 Компания Cisco открыла код PyREBox, окружения для изучения вредоносного ПО (20 +6)
  Разработчики из компании Cisco представили проект PyREBox, в рамках которого подготовлено окружение для обратного инжиниринга и наблюдения за поведением вредоносного ПО. PyREBox представляет собой надстройку над QEMU, снабжённую дополнительными средствами для инспектирования содержимого памяти, отладки и динамического анализа работы системы и приложений. Код распространяется под лицензией GPLv2.

В отличие от традиционных отладчиков, работающих в одном системном окружении с проверяемым приложением, PyREBox полностью отделён от изучаемого окружения и позволяет наблюдать за ним со стороны, при необходимости вмешиваясь в его работу. PyREBox создаёт эмулируемое окружение для всей системы, предлагая простой интерфейс для наблюдения за этим окружением, не требуя установки особых драйверов или агентов, а работая непосредственно на уровне эмулятора и предоставляемого им API VMI (Virtual Machine Introspection). В настоящее время возможно создание окружений i386 и x86_64, но в планах намечена поддержка ARM, MIPS, PowerPC и других архитектур.

Интерфейс для управления и отладкой построен на базе интерактивной оболочки IPython. Исследователю предоставляется полный набор команд для инспектирования и модификации состояния работающей виртуальной машины. В том числе можно на лету изменять содержимое областей памяти и регистров CPU. Имеются гибкие средства автоматизации, основанные на подключении сценариев на языке Python. При этом компоненты PyREBox выполнены как надстройка над QEMU, но не пересекаются с QEMU, что даёт возможность быстро адаптировать продукт к новым выпускам QEMU, не утруждая себя ведением собственного форка.

Поддерживается интеграция с пакетом криминалистического анализа Volatility и подключения плагинов от него. Также можно подключать собственные плагины с дополнительными обработчиками или привязывать Python-скрипты к определённым событиям, например, скрипт может быть вызван перед выполнением определённой процессорной инструкции, при обращении приложения к заданной области памяти, создании/завершении процессов, переключении контекста, промахах TLB, событиях от сетевого интерфейса и клавиатуры. Для снижения задержек из-за вызова Python-кода предлагается использовать систему триггеров на C/С++, которые решают задачу первичной фильтрации и передают управление Python-скриптам только при необходимости.

  1. OpenNews: Выпуск отладчика GDB 8.0
  2. OpenNews: Выпуск системы динамической отладки SystemTap 3.1
  3. OpenNews: Бэкдор в отладочном коде модифицированного ядра Linux для систем Allwinner
  4. OpenNews: Выпуск платформы динамической трассировки приложений Frida и отладчика CryptoShark
  5. OpenNews: Проект Mozilla представил rr 1.0.0, отладчик для крупных проектов на С/C++
Обсуждение (20 +6) | Тип: Программы |
24.07.2017 Проблемы в systemd и Apache httpd при обработке DNS-имён с символом подчёркивания (84 +11)
  Администраторы ресурсов, использующих имена хостов с символом подчёркивания, столкнулись с проблемами, проявляющимися в новых выпусках systemd и Apache httpd, и вызванными неоднозначной трактовкой требований к именам в DNS.

В соответствии с RFC 1123 в DNS запрещено использовать символ подчёркивания в именах хостов, но разрешено в именах меток. Т.е. в записях типа "A" и "MX", а также в содержимом полей "SOA" и "NS", символы подчёркивания не допускаются, но, в соответствии с RFC-2782, они разрешены во вспомогательных полях, подобных "TXT" и "SRV", что активно используется в системе DomainKeys (например, имя "_domainkey.ebay.com" корректно в контексте применения как метки с TXT-записью в DNS, но будет некорректно если для него применить A-запись).

Обычно клиентское и серверное ПО достаточно лояльно относится к символу "_" в именах хостов, не требуя жесткого следования RFC, поэтому в обиходе часто встречается нецелевое применение поддоменов с символом подчёркивания. Например, в популярном на Западе сервисе доставки видео Netflix используются имена подобные "ipv6_1-cxl0-c088.1.lhr004.ix.nflxvideo.net" (применение не корректно, так как имя связано с записью "A" в DNS), а проект Fedora использует "_443._tcp.fedoraproject.org" (применение корректно, так как имя определено записью NSEC).

Проблемы всплыли после формировния новых выпусков systemd и Apache httpd. В systemd 234 была добавлена экспериментальная поддержка использования библиотеки libidn2 вместо libidn для обработки доменных имён с символами национальных алфавитов. При сборке c libidn2 в systemd-resolver применялся предлагаемый в libidn2 фильтр имён хостов, который просто вырезал символ "_", что привело к проблемам с использованием сервиса Netflix на клиентских системах с systemd-resolver. Проблема уже решена в libidn2 путем исключения IDN2_USE_STD3_ASCII_RULES из списка опций, применяемых по умолчанию, и войдёт в состав следующего обновления. Для systemd также выпущен патч, обходящий проблему при использовании старых версий libidn2.

Администраторы серверных систем столкнулись с похожей проблемой при переходе на Apache 2.4.25 или установке в RHEL/CentOS обновления httpd-2.2.15-60. В рамках устранения уязвимости CVE-2016-8743 код разбора HTTP-заголовков был приведён в строгое соответствие с RFC 7230. В случае наличия некорректного заголовка, оформление параметров которого не соответстует требованиям стандарта, теперь выдаётся ошибка 500 "Bad Request". В основном исправление было нацелено на блокирование использования закодированных символов пробелов в именах, но заодно было запрещено и применение других недопустимых символов, в том числе подчёркивания. Таким образом, после установки обновления перестали обрабатываться запросы к хостам, в именах которых присутствует символ "_". Для обхода проблемы в Apache 2.4.25 можно использовать настройку "HttpProtocolOptions Unsafe".

Дополнение: Проект GNU выпустил обновление библиотеки libidn2 2.0.3, поведение фильтров в котором приведено в соответствие с поведением библиотеки libidn. По умолчанию теперь отключен режим фильтрации IDN2_USE_STD3_ASCII_RULES, наличие которого привело к проблемам с неверной обработкой доменных имён с символом подчёркивания в systemd-resolver.

  1. OpenNews: Релиз systemd 234
  2. OpenNews: Спорная ошибка в systemd, позволяющая повысить привилегии, закрыта без исправления
  3. OpenNews: Уязвимость в systemd-resolved
  4. OpenNews: Релиз http-сервера Apache 2.4.25
  5. OpenNews: Новый метод фишинга с использованием unicode-символов в домене
Обсуждение (84 +11) | Тип: К сведению |
23.07.2017 Дебаты вокруг TLS 1.3 и совершенной прямой секретности (83 +26)
  В настоящее время завершается процесс стандартизации TLS (Transport Layer Security) версии 1.3. В рамках новой версии, среди прочих изменений, предполагается полный отказ от методов шифрования (cyphersuites), не поддерживающих совершенную прямую секретность (PFS, Perfect Forward Secrecy).

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

Следует отметить что речь идёт именно о тех случаях, когда перехват трафика используется не для компрометации пользователей (для слежения за ними), а для обеспечения отказоустойчивости сетевых сервисов. На данный момент доминирует три точки зрения на вопрос:

  • Отказ от совершенной прямой секретности недопустим, так как ущемляет интересы пользователей и может использоваться во вред им.
  • В то время как для ряда задач совершенная прямая секретность важна и даже необходима, она не требуется всегда и везде. В то же время чрезмерное усложнение жизни для сетевых операторов может привести к естественному избеганию нового стандарта, от чего как раз пострадают пользователи. Здесь можно вспомнить IPv6, который до сих пор медленно внедряется из-за целого ряда ошибок.
  • Интернет — для пользователей, а не для сетевых операторов, и если интересы первых идут вразрез с интересами вторых, то это не проблема пользователей. Пусть сетевые операторы предлагают решения (в качестве варианта рассматривается, например, использование постоянных параметров для алгоритма Диффи-Хелмана).

  1. OpenNews: Первый выпуск новой SSL/TLS-библиотеки BearSSL
  2. OpenNews: В Firefox 52 планируют по умолчанию включить поддержку TLS 1.3
  3. OpenNews: В Chrome добавлены средства шифрования, стойкие к подбору на квантовом компьютере
Обсуждение (83 +26) | Автор: Вадим Жуков | Тип: Тема для размышления |
23.07.2017 Рейтинг языков программирования 2017 года от издания IEEE Spectrum (244 +12)
  Журнал IEEE Spectrum, издаваемый Институтом инженеров электротехники и электроники (IEEE), опубликовал новую редакцию рейтинга популярности языков программирования. Лидером рейтинга стал язык Python, который в прошлом году занимал третье место, уступая языкам Си и Java, которые теперь переместились на второе и третье место, соответственно.

Язык C++ сохранил четвёртое место в рейтинге. JavaScript поменялся местами с PHP и занял седьмое место, а C# переместился с 6 на 5 место, вытеснив язык R. Язык Go переместился с 10 на 9 место, а язык Ruby, ранее занимавший 9 место, был сдвинут на 12 место. Язык Perl продолжает терять популярность, сместившись в этом году с 17 на 18 место. Язык Rust переместился с 26 на 22 место, а Lua с 22 на 21.

При расчёте рейтинга IEEE Spectrum использовано сочетание 12 метрик, полученных от 10 различных источников. В основе метода заложена оценка результатов поиска по запросу "{название_языка} programming" на различных сайтах. Учтено число материалов, выдаваемых в поисковой выдаче Google (как при построении рейтинга TIOBE), параметры популярности поисковых запросов через Google Trends (как в рейтинге PYPL), упоминания в Twitter, число новых и активных репозиториев в GitHub, число вопросов в Stack Overflow, число публикаций на сайтах Reddit и Hacker News, вакансии на CareerBuilder и Dice, упоминания в цифровом архиве журнальных статей и докладов с конференций IEEE Xplore Digital Library.

Для сравнения первая десятка июльского рейтинга TIOBE, который рассчитан на основе популярности в поисковой выдаче Google, выглядит следующим образом: Java, C, C++, Python, C#, PHP, Visual Basic .NET, JavaScript, Pascal, Go, Perl. За год Visual Basic .NET обогнал JavaScript и переместился с 8 на 7 место. Язык Perl сместился с 9 на 11 место, а язык Go поднялся с 55 (!) на 10, а Pascal с 12 на 9. С 11 на 13 место переместился язык Ruby.

В рейтинге PYPL, в котором используется Google Trends, по сравнению с июлем 2016 года первая десятка осталась практически неизменной: Java, Python, PHP, C#, JavaScript, C++, C, R, Objective-C, Swift. Единственная перестановка связана с тем, что язык R вытеснил Objective-C с восьмого места на девятое.

В свежем рейтинге языков программирования от компании RedMonk, построенном на основе оценки популярности на GitHub и активности обсуждений на Stack Overflow, десятка лидеров выглядит следующим образом: JavaScript, Java, Python, PHP, C#, C++, CSS, Ruby, C, Objective-C. По сравнению с прошлым годом Python обогнал PHP и занял третье место. Язык Perl переместился с 13 на 15 место.

  1. OpenNews: IEEE Spectrum опубликовал рейтинг языков программирования
  2. OpenNews: Рейтинг популярности СУБД за 2015 год
  3. OpenNews: Ассемблер занял десятое место в рейтинге популярности языков программирования
  4. OpenNews: Рейтинг языков программирования от RedMonk
  5. OpenNews: Платформа Android опередила по популярности Windows в рейтинге StatCounter
Обсуждение (244 +12) | Тип: Тема для размышления |
23.07.2017 Релиз языка программирования Rust 1.19 (29 +9)
  Подготовлен релиз языка программирования Rust 1.19, развиваемого проектом Mozilla, обеспечивающего автоматическое управление памятью и предоставляющего средства для высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime. Параллельно с Rust совместно с компанией Samsung развивается экспериментальный браузерный движок Servo, написанный на языке Rust и отличающийся поддержкой многопоточного рендеринга web-страниц и распараллеливанием операций с DOM (Document Object Model). На Rust также разрабатывается операционная система Redox, использующая концепцию экзоядра и продвигающая принцип "все есть URL".

В подготовке нового выпуска приняли участие 144 разработчика. Основные новшества:

  • Добавлена поддержка структур данных "union", представляющих собой объединения, совместимые с аналогичным типом в языке Си. В отличие от структур enum, в union не производится сохранение тегов, используемых для проверки выбора корректного варианта данных во время выполнения, т.е. запись и чтение полей в "union" может применяться только в блоках unsafe. Основным назначением union является обеспечение переносимости с кодом на языке Си и упрощение создания обвязок вокруг библиотек на Си;
    
       union MyUnion {
           f1: u32,
           f2: f32,
       }
    
       let u = MyUnion { f1: 1 };
       unsafe { u.f1 = 5 };
       let value = unsafe { u.f1 };
    
  • Реализована возможность прерывания цикла с возвратом определённого значения. Например, теперь можно обойтись без создания промежуточной переменной для передачи результата работы цикла и использовать конструкции вида "let x = loop { break 7; };"
  • Замыкания (closures), которые не захватывают окружение, теперь могут быть приведены к типу "указатель на функцию". Например, "let f: fn(i32) -> i32 = |x| x + 1;";
  • Для сжатия архивов вместо gzip по умолчанию теперь применяется сжатие с использованием xz;
  • Добавлена поддержка сборки компилятора (bootstrap) в окружении платформы Android;
  • В разряд стабильных переведена новая порция функций и методов, в том числе API OsString::shrink_to_fit, cmp::Reverse, Command::envs и thread::ThreadId. Также стабилизированы макросы "eprint!" и "eprintln!", которые работают по аналогии с "print!" "еprintn!", но выводят результат в stderr вместо stdout;
  • В пакетном менеджере Cargo прекращён учёт локального рабочего каталога в индексе crates.io, что позволило добиться сокращения размера файла со сборочным реестром и уменьшить время операций клонирования. В команду "cargo bench" добавлена опция "--all" для вызова тестов сразу для всех пакетов в указанном рабочем окружении (отдельные пакеты можно исключить через опцию "--exclude"). В опции "--features" теперь допускается перечисление нескольких значений, разделённых запятой или пробелом. Реализована возможность подключения своих обработчиков (runner) для заданных целевых платформ.

Напомним, что язык Rust сфокусирован на безопасной работе с памятью и обеспечении высокого параллелизма выполнения заданий. При этом Rust обходится без использования сборщика мусора или runtime, что делает возможным создания на Rust библиотек, которые могут выступать в роли прозрачной замены библиотекам для языка Си. Для распространения библиотек на языке Rust, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo, позволяющий получить нужные для программы библиотеки в один клик. Для размещения библиотек введён в строй репозиторий crates.io.

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

  1. OpenNews: Эксперимент по разработке частей ядра Linux на языке Rust
  2. OpenNews: Доступна операционная система Redox 0.2, написанная на языке Rust
  3. OpenNews: Успехи Rust: Подготовка первого выпуска Servo и использование Rust в новом хранилище Dropbox
  4. OpenNews: Facebook работает над реализацией сервера Mercurial на языке Rust
  5. OpenNews: В Firefox 48 начнётся интеграция компонентов на языке Rust
Обсуждение (29 +9) | Тип: Программы |
22.07.2017 Доступна система обмена сообщениями Briar, способная работать в режиме P2P (80 +21)
  Объявлено о начале публичного бета-тестирования новой системы обмена сообщениями Briar, нацеленной на обеспечение максимальной конфиденциальности и работающей без обращения к централизованным серверам. При доставке сообщений Briar обеспечивает работу в режиме P2P, при котором пользователи соединяются напрямую друг с другом. В качестве базового транспорта для построения P2P-сети предлагается анонимная сеть Tor, но Briar может функционировать вообще без подключения к интернету, обеспечивая прямое взаимодействие устройств по Wi-Fi или Bluetooth. Код написан на языке Java и поставляется под лицензией GPLv3.

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

Из ближайших планов отмечается создание версии Briar для настольных систем. В длительной перспективе, предложенные в Briar технологии синхронизации планируется применить в областях, выходящих за рамки обмена сообщениями, таких как средства для совместной работы над документами и анализ ситуации во время кризисов. Создание надстроек над Briar упрощает то, что все базовые функции синхронизации и реализации протоколов вынесены в отдельные библиотеки, которые могут использоваться обособленно для создания других продуктов. Версия для iOS не выпущена так как платформа накладывает жесткие ограничения на разработчиков, не позволяющие реализовать некоторые идеи P2P, и является закрытым проприетарным продуктом. При этом никто не мешает сторонним разработчикам попытаться создать неофициальную редакцию Briar для iOS.

Предложенная для тестирования бета-версия обладает одной особенностью - тестирование будет продолжаться до 21 октября, после чего список контактов и архив сообщений будет очищен. Подобный шаг объясняется желанием обезопасить пользователей от возможных недоработок в области безопасности, которые могут наблюдаться в процессе бета-тестирования, а также желанием развязать себе руки для внесения несовместимых изменений в выпуск 1.0.

Текущая кодовая база и применяемые в протоколах криптографические методы уже прошли независимый аудит безопасности, выполненный немецкой компанией Cure53, известной своим аудитом проектов SecureDrop, Cryptocat и Dovecot. Проверяющие отметили высокое качество и хорошую читаемость кода Briar, а также обратили внимание, что код написан с оглядкой на безопасность и его разработчики понимают возможные угрозы. В команду Briar входит один из ключевых разработчиков анонимной сети I2P, участник разработки Freenet и LimeWire, автор инициативы Free Your Android.

Briar обеспечивает шифрование всех данных на стороне пользователя (end-to-end) и также скрывает метаданные об участниках переписки. Все сообщения хранятся только на устройствах конечных пользователей, никакие облачные технологии с хранением на внешней системе не применяются. При использовании Tor программа создаёт на устройстве пользователя скрытый сервис Tor и соединяется со скрытыми сервисами Tor других людей из списка контактов. В случае отсутствие доступа к глобальной сети и Tor, программа пытается синхронизировать накопившиеся сообщения через подключение к доступным поблизости контактам через локальную сеть, WiFi Direct или Bluetooth.

Добавление новых контактов в Briar производится через фотографирование QR-кода с другого телефона (подразумевается физическом присутствие лица, добавляемого в список контактов) или обмен контактами (уже добавленный пользователь может поделиться контактами другого лица). В дальнейшем приложение осуществляет синхронизацию сообщений с пользователями, добавленными в список контактов, применяя для этого принцип P2P-сети. В случае если пользователь недоступен программа позволяет отправлять сообщения в offline.

Основные угрозы и методы противостояния:

  • Отслеживание метаданных. Для скрытия сведений о взаимодействии пользователей друг с другом применяется анонимная сеть Tor. Содержимое списка контактов хранится на устройстве пользователя в зашифрованном виде;
  • Перехват содержимого переписки. Для защиты содержимого сообщений от перехвата и подмены применяется шифрование на стороне пользователя (end-to-end);
  • Блокировка работы и фильтрация контента. Фильтрация по ключевым словам блокируется end-to-end шифрованием, а блокировке противостоит децентрализованная архитектура системы, не требующая серверов для своей работы;
  • Требования об удалении контента. Содержимое публичных форумов копируется на системе каждого подписчика, поэтому публикации размазаны по многим системам пользователей и отсутствует единое хранилище из которого можно было бы удалить публикацию;
  • Совершение атак, нацеленных на инициирование отказа в обслуживании. Работа форумов не обеспечивается конкретными серверами и поэтому отсутствует конкретный объект для атаки. Все подписчики могут получить доступ к контенту независимо от подключения к сети, так как он копируется на их систему;
  • Нарушение доступа к глобальной сети (например, в результате природных катастроф). Пользователи Briar могут поддерживать связь между собой через Bluetooth и Wi-Fi.

  1. OpenNews: Открыта часть серверного кода сервиса мгновенного обмена сообщениями Wire
  2. OpenNews: Выпуск платформы для конфиденциального обмена сообщениями RetroShare 0.6.2
  3. OpenNews: Децентрализованный коммуникационный клиент Ring присоединился к проекту GNU
  4. OpenNews: Проект Tor начал тестирование собственной системы мгновенного обмена сообщениями
  5. OpenNews: Проект Tox развивает свободную альтернативу Skype
Обсуждение (80 +21) | Тип: Программы | Интересно
21.07.2017 Mozilla развивает свою систему распознавания речи (67 +12)
  В рамках проекта по развитию собственной открытой системы распознавания речи компания Mozilla ввела в строй сервис Common Voice, нацеленный на организацию совместной работы по накоплению базы голосовых шаблонов, учитывающей всё разнообразие голосов и манер речи. Пользователям предлагается озвучить выводимые на экран фразы или поучаствовать в оценке качества данных, добавленных другими пользователями.

Целью инициативы является накопление 10 тысяч часов c записями различного произношения типовых фраз человеческой речи. На основе полученных данных будет сформирована открытая и бесплатная база данных, которую без ограничений можно будет использовать в системах машинного обучения и в исследовательских проектах. В текущем виде база Common Voice формируется только для английского языка, но в дальнейшем планируется запустить аналогичные проекты по сбору голосовой информации и для других языков.

Подготовленная в Mozilla база может оказаться полезной и для других открытых проектов в области распознавания речи, таких как Sphinx, Kaldi, VoxForge, ISIP, HTK и Julius. В настоящее время исследователям и разработчикам доступны только ограниченные наборы, а стоимость полноценных коллекций голосовых выборок исчисляется десятками тысяч долларов, что сильно тормозит независимые исследования в области распознавание речи.

Сервис запущен как дополнение к более глобальному проекту, в рамках которого планируется выпустить полностью свободную систему распознавания речи, которая использует современные методы машинного обучения. В отличие от уже имеющихся решений проект Mozilla подразумевает построение и открытие качественной модели для систем машинного обучения, а также реализацию расширенных алгоритмов для более точного выделения речи при наличии постороннего шума. В основе проекта Mozilla лежит движок DeepSpeech, созданный с использованием открытой компанией Google платформы машинного обучения TensorFlow. DeepSpeech реализует в коде одноимённую архитектуру распознавания речи, предложенную исследователями из компании Baidu.

DeepSpeech значительно проще традиционных систем и при этом обеспечивает более высокое качество распознавания при наличии постороннего шума. Из достоинств также отмечается отсутствие необходимости подключения отдельных компонентов для моделирования различных отклонений, таких как шум, эхо и особенности речи. DeepSpeech не использует традиционные акустические модели и концепцию фонем, вместо которых предлагается использовать хорошо оптимизированную систему машинного обучения на основе нейронной сети. Что касается качества распознавания, то DeepSpeech демонстрирует заметно более низкий уровень ошибок, по сравнению с коммерческими системами Google Speech, Bing Speech и Apple Dictatio.

Обратной стороной DeepSpeech является то, что для получения качественного распознавания данная архитектура требует большого объёма разнородных данных для осуществления обучения (недостаточно просто диктовки фраз в студии, нужны варианты в реальных условиях с разными голосами, шумами, фоновой речью, акцентом и т.п.). Уже существующие открытые проекты, такие как LibriSpeech, накопили базу в примерно 1 тысячу часов стенографированной речи, в то время как для достижения приемлемого уровня ошибок в DeepSpeech требуется как минимум 10 тысяч часов. Кроме того, данные LibriSpeech в основном отражают только каноническое произношение носителем языка, в то время как проект Mozilla пытается охватить любые произношения и обеспечить хороший уровень распознавания английского языка не только для американцев и англичан.

Для использования распознавания речи в online-приложениях и на мобильных устройствах Mozilla разрабатывает систему Pipsqueak, представляющую собой серверное решение на основе архитектуры DeepSpeech. Для взаимодействия с движком планируется использовать Web Speech API. При этом движок будет достаточно легковесным и способным работать даже на портативных системах, таких как Raspberry Pi 3.

  1. OpenNews: Тестовый выпуск свободной системы распознавания речи Simon 0.4.80
  2. OpenNews: Facebook представил модульную систему машинного обучения Caffe2
  3. OpenNews: Выпуск системы машинного обучения TensorFlow 1.0 и классификатора изображений ResNeXt
  4. OpenNews: Представлен Sirius, открытый персональный ассистент, напоминающий Apple Siri и Google Now
  5. OpenNews: Выпуск spaCy 1.0, библиотеки для обработки информации на естественном языке
Обсуждение (67 +12) | Тип: К сведению |
20.07.2017 Утверждена единая спецификация для образов и runtime изолированных контейнеров (81 +17)
  Проект Open Container Initiative (OCI) объявил о готовности первого открытого стандарта, призванного унифицировать формат образов контейнеров и runtime-компонентов, обеспечивающих запуск и жизненный цикл контейнеров. Опубликованные спецификации изначально не привязаны к решениям отдельных вендоров и учитывают повышенные требования к безопасности и переносимости. Благодаря OCI пользователи получат возможность упаковывать свои приложения в универсальные контейнеры, которые смогут работать с любым инструментарием, включая Docker и rkt.

Стандарт подготовлен благодаря совместной работе создателей конкурирующих проектов Docker и CoreOS, ранее пытавшиеся продвигать собственные форматы контейнеров. В состав рабочей группы также вошли представители компаний Google, Microsoft, Amazon Web Services, Cisco, EMC, Fujitsu, Oracle, HP, Huawei, IBM, Intel, Red Hat и VMware. Совместный проект развивается под эгидой организации Linux Foundation. В дальнейшем планируется ввести в строй программу сертификации, нацеленную на подтверждение полного соответствия спецификациям OCI в продуктах, заявляющих об их поддержке.

Одним из первых эталонных решений c реализацией спецификаций OCI стала связка из runtime runC и управляющего инструментария containerd, уже применяемых в Docker и Garden (Cloud Foundry), а также запланированного для интеграции в rkt от CoreOS. Runc предоставляет обособленный набор компонентов для запуска контейнеров на широком спектре систем, позволяя обойтись без внешних зависимостей. Для организации работы с контейнерами runc поддерживает пространства имён Linux (namespaces), различные средства повышения безопасности Linux (SELinux, Apparmor, seccomp, cgroups, capability, pivot_root, сброс uid/gid), live-миграцию (используется CRIU), возможности создания контейнеров в Windows 10, компоненты systemd и переносимые профили производительности. Containerd включает фоновый процесс и клиент командной строки, использующий runc для запуска контейнеров, соответствующих спецификации OCI.

Компания Oracle в рамках проекта Railcar развивает совместимую со спецификациями OCI альтернативу runc/containerd, написанную на языке Rust. В платформе Kubernetes реализован новый экспериментальный интерфейс CRI (Container Runtime Interface), позволяющий подключать альтернативные runtme, в том числе rklet и CRI-O. Компании Amazon, Intel, IBM и Google анонсировали поддержку спецификаций OCI в Amazon ECR (EC2 Container Registry), Intel Clear Containers, IBM Bluemix Container Service и Google Cloud Platform. Над поддержкой OCI также работает команда Apache Mesos.

  1. OpenNews: Docker 1.11 переведён на containerd и runC
  2. OpenNews: Выпуск rkt 1.3, конкурирующего с Docker инструментария управления контейнерами
  3. OpenNews: Intel представил Clear Linux с контейнерами приложений на базе виртуализации
  4. OpenNews: Docker представил Moby и LinuxKit для построения произвольных систем контейнерной изоляции
  5. OpenNews: SUSE и openSUSE представили Kubic, платформу для развёртывания контейнерной инфраструктуры
Обсуждение (81 +17) | Тип: К сведению |
20.07.2017 Увидел свет дистрибутив Endless OS 3.2 (40 +5)
  Официально опубликован значительный релиз дистрибутива Endless OS 3.2, нацеленного на создание простой в работе системы, в которой можно быстро подобрать приложения на свой вкус. Изначально выпуск ожидался две недели назад, но первые сборки не прошли контроль качества и публикация установочных образов была задержана. Размер предлагаемых загрузочных образов составляет от 1.8 до 14 ГБ.

Дистрибутив Endless примечателен тем, что не использует традиционные пакетные менеджеры, вместо которых предлагается минимальная атомарно обновляемая базовая система, работающая в режиме только для чтения и формируемая при помощи инструментария OSTree (системный образ атомарно обновляется из Git-подобного хранилища). Приложения распространяются в виде самодостаточных пакетов в формате Flatpak.

Пользовательский интерфейс основан на значительно переработанном форке окружения GNOME и ориентирован на предоставление средств для выбора и запуска приложений. При этом разработчики Endless активно участвуют в разработке upstream-проектов и передают им свои наработки. Например, в выпуске GTK+ 3.22 около 9.8% всех изменений было подготовлено разработчиками Endless, а курирующая проект компания Endless Mobile входят в надзорный совет GNOME Foundation, наряду с FSF, Debian, Google, Linux Foundation, Red Hat и SUSE.

Выпуск Endless OS 3.2 примечателен переводом компонентов рабочего стола и приложений дистрибутива (mutter, gnome-settings-daemon, nautilus и т.п.) на технологии GNOME 3.22 (прошлый вариант рабочего стола ответвился от GNOME 3.8). Кроме обновления базовых компонентов было модернизировано и оформление рабочего стола. Из наиболее заметных изменений интерфейса можно отметить:

  • Меню управления сеансом перемещено из левого нижнего угла экрана в правый нижний угол. На старом месте теперь размещена кнопка "Endless", первый клик на которую приводит к сворачиванию всех окон для доступа к рабочему столу, а второй клик возвращает все окна на место;
  • Системные индикаторы агрегированы в одну сводную область;
  • Из нижней панели убраны средства интеграции с Facebook (предоставлена возможность закрепления на панели ярлыка Facebook). Представлена система уведомлений о событиях в календаре-планировщике;
  • Изменено оформление интерфейса выбора и запуска приложений. Задействованы новые пиктограммы для разделов приложений, навигация приближена к интерфейсу вызова приложений на смартфонах;
  • Улучшено качество панели глобального поиска, позволяющей формировать поисковые запросы непосредственно с рабочего стола. Через панель можно отправлять как внешние запросы поисковым системам, так и производить выборку из каталога приложений и системной справки;
  • По умолчанию задействован вход пользователя без пароля. На этапе установки пользователь может пропустить шаг ввода пароля и тогда вход в систему будет производиться автоматически. Но если пользователь добавит пароль - вход и разблокировка экрана потребуют заполнения традиционной формы аутентификации;
  • В состав включены средства для кодирования MP3, например, в звуковом редакторе Audacity теперь можно сохранять звуковые файлы в данном формате, а в Rhythmbox перекодировать звуковые CD в MP3;
  • На тачпадах по умолчанию активирована функция касания для клика (Tap-to-click, отключается в разделе настроек Mouse & Touchpad);
  • Добавлена поддержка режима естественной прокрутки мышью (содержимое прокручивается в ту сторону в которую вращается колесо мыши, а не в обратную, как обычно). Режим включается в разделе настроек Mouse & Touchpad;
  • Для настольных систем добавлена возможность перевода в ждущий режим (Suspend to RAM), который ранее был отключен по умолчанию из-за проблем с некоторым оборудованием;
  • В интерфейсе управления установкой приложений Endless App Center добавлена возможность установки вручную загруженных пакетов flatpak через клик на файл .flatpakref;
  • Добавлены биндинги к Node.js для создания приложений для работы с контентом в режиме offline, используя платформу Electron;
  • Программа VideoNet заменена на web-приложение YouTube;
  • Апплет для просмотра прогноза погоды Endless Weather заменён на штатное приложение GNOME Weather;
  • Улучшена поддержка установки Endless в качестве второй ОС на компьютерах с BIOS. Установщик Endless для Windows теперь сам добавляет Endless OS в загрузочное меню Windows, а не заменяет штатный загрузчик Windows;
  • Улучшена работа загрузочного меню на системах с UEFI, в котором больше не появляются дубликаты после установки обновления.

Обсуждение (40 +5) | Тип: Программы |
Следующая страница (раньше) >>


  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor TopList