The OpenNET Project / Index page

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

10.07.2018 Для Thunderbird и SeaMonkey введён в строй отдельный каталог дополнений (57 +22)
  В связи с оставлением в Firefox только поддержки дополнений на базе API WebExtensions и применением аналогичного ограничения в будущем к каталогу addons.mozilla.org (AMO), запущен отдельный каталог дополнений для Thunderbird и SeaMonkey - addons.thunderbird.net. Данные проекты не намерены полностью переходить на WebExtensions и сохранят поддержку XUL.

Начиная с 12 июля все дополнения с поддержкой Thunderbird и SeaMonkey будут автоматически перенесены на addons.thunderbird.net. На новом сайте также будут автоматически заведены учётные записи разработчиков. В AMO при переходе по старым ссылкам будет организован редирект на новый URL. Дополнения к Thunderbird и SeaMonkey, которые также поддерживают Firefox, будут оставлены в AMO.

  1. Главная ссылка к новости
  2. OpenNews: Существование SeaMonkey в условиях прекращения поддержки XUL в Firefox
  3. OpenNews: План поддержки XUL-дополнений в ESR-ветке Firefox
  4. OpenNews: План развития функциональности Firefox на 2018 год
  5. OpenNews: Thunderbird остаётся под покровительством Mozilla Foundation
  6. OpenNews: Бета-выпуск Thunderbird 60
Обсуждение (57 +22) | Тип: К сведению |
10.07.2018 В рамках проекта Browsh развивается консольный браузер на базе Firefox (76 +40)
  Представлен новый консольный браузер Browsh, примечательный полноценной поддержкой web-технологий и возможностью отображения изображений, видео и WebGL-контента в форме ASCII-анимации. Для обработки контента применяется движок Firefox. Код Browsh написан на языках Go и JavaScript, и распространяется под лицензией GPLv3. Готовые сборки подготовлены для Linux, FreeBSD, macOS и Windows (для работы дополнительно должен быть установлен Firefox новее выпуска 56).

В качестве основной области применения Browsh называется работа в условиях экономии трафика или при низкой пропускной способности. Например, при наличии канала связи порядка 3kbps (при подключении через телефон с GPRS) можно соединиться по SSH с сервером и запустить на нём Browsh. В отличие от таких консольных браузеров, как elinks и lynx, в Browsh имеется полноценная поддержка JavaScript и HTML5. Для обработки web-контента используется браузер Firefox, запускаемый в режиме без вывода на экран ("-headless").

В запускаемый в режиме headless экземпляр Firefox устанавливается специальное дополнение, которое принимает от консольной утилиты запросы, обрабатывает их и выполняет трансляцию вывода в текстовое представление с ASCII-графикой. Консольная утилита выполняет роль прослойки для организации взаимодействия пользователя, основная логика реализована на стороне браузерного дополнения.

Browsh можно запускать через терминал или использовать в виде web-сервиса, предоставляющего упрощённый вариант страниц для просмотра в web-браузере пользователя. Например, открытие в Browsh сайта, который при обычных условиях требует загрузки 3MB данных и отправляет более 100 HTTP-запросов, потребует загрузки всего 15 KB данных и отправки двух HTTP-запросов (один для содержимого и один для favicon). Режим работы в виде web-сервиса встроен в Browsh и активируется при указании опции "-http-server" (по умолчанию запросы принимаются на 4333 сетевом порту).

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

  1. Главная ссылка к новости
  2. OpenNews: Релиз консольного web-браузера Lynx 2.8.8
  3. OpenNews: Доступен web-браузер qutebrowser 1.2.0
  4. OpenNews: NCSA Mosaic портирован для современных Linux дистрибутивов
  5. OpenNews: Релиз минималистичного web-браузера Dillo 3.0
  6. OpenNews: Релиз минималистичного web-браузера links 2.6
Обсуждение (76 +40) | Тип: Программы |
10.07.2018 Разработчики Mozilla представили две тестовые возможности: Lockbox и Notes (35 +7)
  Компания Mozilla представила две новые функции, предложенные в рамках инициативы Test Pilot, которая предоставляет пользователям возможность оценить и протестировать экспериментальные функции, развиваемые для будущих выпусков Firefox. Для участия в программе необходимо установить специальное дополнение Test Pilot (учетная запись в системе Firefox Account при этом не обязательна), в котором будет доступен список предлагаемых для тестирования возможностей. В процессе работы Test Pilot осуществляется сбор и отправка обезличенной статистики о характере работы с тестируемыми дополнениями.

В состав Test Pilot включены две новые функции:

  • Notes (код) - Firefox-дополнение для ведения заметок и приложение для Android, позволяющие организовать работу с единой синхронизированной коллекцией заметок на настольной системе и на смартфоне. Для синхронизации заметок используется Firefox Sync и привязка к учётной записи в Firefox Accounts. Данные шифруются на стороне пользователя в режиме end-to-end.
  • Lockbox (код) - приложение для iOS, позволяющее без установки Firefox получить доступ к сохранённым в Firefox логинам и паролям, синхронизированным при помощи Firefox Sync и привязанным к учётной записи в Firefox Accounts;

  1. Главная ссылка к новости
  2. OpenNews: Mozilla рассматривает возможность создания системы голосовой навигации для браузера
  3. OpenNews: В Firefox тестируется возможность одновременного просмотра разных вкладок
  4. OpenNews: Mozilla планирует протестировать в Firefox возможности Lockbox, Tabsplit, ThemesRfun и Foxy
  5. OpenNews: Эксперимент Mozilla приведёт к утечке данных, вводимых в адресной строке Firefox
  6. OpenNews: Проект Mozilla представил дополнение с реализацией контекстных контейнеров для Firefox
Обсуждение (35 +7) | Тип: Программы |
10.07.2018 Airbus и IBM подготовили интеллектуальный помощник для МКС, работающий под управлением Ubuntu (78 +24)
  Компания Airbus при участии IBM разработала для Международной космической станции автономный летающий интеллектуальный помощник CIMON (Crew Interactive Mobile CompanioN), который будет помогать космонавтам в процессе их работы. Устройство оснащено системой искусственного интеллекта на основе наработок проекта IBM Watson, способной понимать вопросы на естественном языке и генерировать ответы. В качестве операционной системы применяется Ubuntu Linux. CIMON был отправлен на МКС 6 июня в рамках миссии "Горизонты".

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

В CIMON также заложены функции для снижения стресса в команде и он может применяться, например, для воспроизведения музыки, показа видео или установки канала связи по просьбе космонавтов. Аутентификация пользователей осуществляется через распознавание лица. Устройство выполнено в виде шара весом 5 кг и оснащено 8-дюймовым сенсорным экраном. На экране может выводиться анимация с симуляцией человеческого лица, а также доступен штатный рабочий стол GNOME. Время автономной работы составляет 2 часа.



  1. Главная ссылка к новости
  2. OpenNews: Космическое агентство NASA переводит используемые на МКС ноутбуки на Linux
  3. OpenNews: NASA планирует использовать Nagios и PostgreSQL для мониторинга компьютеров МКС
  4. OpenNews: Представлен Sirius, открытый персональный ассистент, напоминающий Apple Siri и Google Now
  5. OpenNews: Проект Mozilla выпустил открытую систему распознавания речи
  6. OpenNews: Выпуск Dragonfire 1.0, виртуального голосового помощника для Linux
Обсуждение (78 +24) | Тип: К сведению |
10.07.2018 Компания Canonical представила сборку Minimal Ubuntu (85 +27)
  Компания Canonical опубликовала новую минималистичную редакцию дистрибутива Minimal Ubuntu, оптимизированную для использование в облачных системах и изолированных контейнерах на базе платформы Docker. При разработке основное внимание уделялось высокой стабильности, максимальной производительности, минимальному времени загрузки и автоматизации применения в облачных системах.

Отмечается, что предложенная сборка требует на 50% меньше дискового пространства и загружается примерно на 40% быстрее сборки стандартной серверной редакции Ubuntu, но при этом остаётся полностью совместимой со всеми пакетами из репозиториев Ubuntu. Необходимые пакеты можно установить при помощи штатного пакетного менеджера apt или при помощи snapd, которые входят в штатную поставку.

Дистрибутив рассчитан на автоматизированное сопровождение, выполняемое без участия пользователя, поэтому в состав включён только минимальный набор пакетов. По сравнению с Ubuntu Server из базовой поставки удалены редакторы, документация, локали и другие инструменты, востребованные при интерактивных сеансах (ssh оставлен). Для доведения урезанного дистрибутива до набора пакетов Ubuntu Server предложена специальная утилита "unminimize".

Размер сборки составляет 157 Мб. Предложены две сборки, созданные на основе пакетных баз Ubuntu 16.04 LTS и 18.04 LTS. Обеспечена поддержка использования Minimal Ubuntu в окружениях Amazon EC2, Google Compute Engine (GCE), LXD и KVM/OpenStack. Для каждой облачной платформы подготовлен свой оптимизированный вариант пакета с ядром Linux (по умолчанию предлагается ядро, оптимизированное для KVM) и включены необходимые для загрузки и настройки утилиты.

На базе Minimal Ubuntu также подготовлен специализированный образ для организации выполнения контейнеров Docker, совместимый с инфраструктурами на базе системы оркестровки контейнеров Kubernetes. Сборка для Docker занимает всего 29 Мб и предложена в каталоге Docker Hub в качестве стандартного образа Ubuntu 18.04 LTS. Сборки Minimal Ubuntu также размещены в каталогах AWS и Google Cloud ("gcloud compute images list --project ubuntu-os-cloud").

  1. Главная ссылка к новости
  2. OpenNews: В Ubuntu Core обеспечена официальная поддержка портативного варианта Raspberry Pi 3
  3. OpenNews: Выпуск Ubuntu Core 16
  4. OpenNews: Планы по развитию рабочего стола в Ubuntu 18.10
  5. OpenNews: Опубликован отчёт на основе телеметрии, переданной пользователями Ubuntu 18.04
  6. OpenNews: Объявлено о создании редакции Fedora для интернета вещей
Обсуждение (85 +27) | Тип: Программы |
10.07.2018 Выпуск программы для просмотра стереоскопических фотографий StereoPhotoView 1.11.0 (5 +9)
  Вышла новая версия программы StereoPhotoView 1.11.0, предназначенной для просмотра стереоскопических 3D-фотографий и видео-файлов с возможностью их быстрого редактирования (выравнивание ракурсов, кадрирование, преобразование стерео-формата). Поддерживаются изображения MPO, JPEG, JPS и видео-файлы. Для просмотра могут применяться анаглифные очки, мониторы/телевизоры с поддержкой пассивной поляризации и различные 3D-дисплеи. Программа написана на C++ с использованием фреймворка Qt и библиотек FFmpeg и OpenCV. Доступны бинарные пакеты для Windows, Ubuntu, и ArchLinux (AUR). Код распространяется под лицензией GPLv3.

Основные изменения в версии 1.11.0:

  • Возможность изменения размеров значков каталогов.
  • Настройка максимального количества последних каталогов.
  • Автоматическое выравнивание по выбранной области.
  • Исправлены ошибки.

  1. Главная ссылка к новости
  2. OpenNews: Релиз видеоплеера MPV 0.28
  3. OpenNews: Релиз медиаплеера sView 15.11
  4. OpenNews: Новая версия медиаплеера sView 13.06
  5. OpenNews: Facebook открыл схемы и ПО панорамной 3D-камеры Surround 360
  6. OpenNews: VLC тестирует просмотр в режиме 360 градусов
Обсуждение (5 +9) | Автор: av.mamzikov | Тип: Программы |
10.07.2018 Выпуск Wine 3.12 (32 +19)
  Состоялся экспериментальный выпуск открытой реализации Win32 API - Wine 3.12. С момента выпуска версии 3.11 было закрыто 40 отчётов об ошибках и внесено 183 изменения.

Наиболее важные изменения:

  • Поддержка Unicode обновлена до спецификации Unicode 11.0.0;
  • В панель управления сетью добавлен диалог для настройки соединения через прокси;
  • Откорректирован синтаксис в командном интерпретаторе Cmd.exe;
  • Расширено число глифов в шрифте Wingdings;
  • Закрыты отчёты об ошибках, связанные с работой игр и приложений: Starfleet Academy, Unreal Tournament 3, ProPresenter 4.x, Stranded II, Alien Shooter, Splinter Cell, Heroes of Might & Magic III HD Edition, Duke Nukem Forever, House of Caravan, League of Legends, FrameMaker 8, Muv-Luv.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск Wine 3.11
  3. OpenNews: Выпуск проекта Wine Staging 3.3
  4. OpenNews: Энтузиасты взяли на себя продолжение разработки Wine staging
  5. OpenNews: Доступен WineD3D для Windows, предоставляющий поддержку DirectX 11 через OpenGL
  6. OpenNews: Стабильный релиз Wine 3.0
Обсуждение (32 +19) | Тип: Программы |
09.07.2018 В WordPress 4.9.7 устранены уязвимости, позволяющие удалять файлы в системе (38 +12)
  Опубликован корректирующий выпуск системы управления web-контентом WordPress 4.9.7, в котором устранены две уязвимости, при помощи которых можно удалить произвольные файлы на сервере, насколько позволяют права доступа пользователя, под которым выполняется WordPress. Например, в ходе атаки можно удалить файл wp-config.php и инициировать процесс установки нового экземпляра WordPress при следующем открытии сайта, в ходе которой атакующий может завести новый аккаунт администратора WordPress, при помощи которого можно запустить произвольный PHP-код на сервере.

Для эксплуатации обеих уязвимостей атакующий должен иметь привилегии автора публикаций (Author) в WordPress. Уязвимости вызваны передачей в функцию unlink() имени файла, сформированного на основе переданных пользователем внешних параметров, не очищенных должным образом (например, можно указать "../../wp-config.php"). В частности данная функция вызывается для удаления эскизов изображений, при инициировании удаления приложенной к публикации картинки.

Дополнение: Информация об уязвимости была отправлена создателям WordPress ещё в ноябре прошлого года и разработчики запросили 6 месяцев на исправление. После наступления указанного срока исследователи попытались уточнить планы по исправлению и предупредили, что намерены скоро раскрыть информацию об уязвимости. Ещё спустя месяц информация об уязвимости была раскрыта. Через неделю разработчики WordPress отреагировали созданием патча и выпуском обновления 4.9.7 с устранением проблемы.

  1. Главная ссылка к новости
  2. OpenNews: Доля WordPress среди крупнейших сайтов достигла 30%
  3. OpenNews: Более 2000 сайтов под управлением WordPress оказались поражены кейлоггером
  4. OpenNews: Ещё в трёх плагинах к WordPress найдены бэкдоры
  5. OpenNews: В плагине Captcha к WordPress, имеющем 300 тысяч установок, выявлен бэкдор
  6. OpenNews: Выявлена скупка плагинов к WordPress для распространения вредоносного кода
Обсуждение (38 +12) | Тип: Проблемы безопасности |
09.07.2018 Выпуск свободного антивирусного пакета ClamAV 0.100.1 с устранением уязвимостей (33 +11)
  Доступен релиз свободного антивирусного пакета ClamAV 0.100.1, в котором устранены уязвимости:
  • CVE-2017-16932 - отказ в обслуживании (зацикленная рекурсия при обработке определённых XML-блоков ) в поставляемой в комплекте библиотеке libxml2, которая применяется только в сборках для платформы Windows (для Linux используются внешние зависимости);
  • CVE-2018-0360 - целочисленное переполнение, которое можно использовать для вызова бесконечного зацикливания;
  • CVE-2018-0361 - ошибка в коде проверки размера PDF-объектов, может привести к слишком длительной обработке специально оформленных мелких PDF-файлов;
  • Чтение из области за пределами буфера в коде unRAR и Libmspack (используется при разборе файлов CHM);
  • Серия ошибок в парсере PDF, связанных с отсутствием должных проверок размера буфера при чтении целых чисел из не оканчивающихся нулевым символом строк и чтении строк из объектов со словарями.

Из улучшений в новом выпуске отмечается добавление поддержки HTTPS в утилиту clamsubmit. В новой версии также решена проблема с определением имён в DNS в конфигурациях только с IPv4, без IPv6 или с привязкой IPv6 только к локальному сетевому интерфейсу.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск свободного антивирусного пакета ClamAV 0.100
  3. OpenNews: Уязвимости в ClamAV, PostgreSQL, ISC DHCP, BIND, Drupal, Dovecot, Apache Xerces-C и Xen
  4. OpenNews: Выпуск свободного антивирусного пакета ClamAV 0.99.3 с устранением уязвимостей
  5. OpenNews: Выпуск свободного антивирусного пакета ClamAV 0.99.2
  6. OpenNews: Выпуск свободного антивирусного пакета ClamAV 0.99
Обсуждение (33 +11) | Тип: Проблемы безопасности |
09.07.2018 Концепт камеры для печати фотографии в виде комиксов (43 +13)
  Дэн Мэкниш (Dan Macnish), инженер и дизайнер, представил проект Draw This, в рамках которого из подручных деталей подготовлена фотокамера, напоминающая полароид, но печатающая фотографии в виде комиксов с интерпретацией окружающей действительности. Например, сфотографировав двух людей на выходе будет распечатано два мультяшных персонажа. Проект демонстрирует переход современных средств машинного обучения из категории разработок, развиваемых узким кругом исследователей, в форму широкодоступных инструментов, позволяющих любым желающим воплощать свои идеи и создавать готовые прототипы устройств.

Программная начинка проекта написана на языке Python и распространяется под лицензией MIT. Аппаратная часть включает плату Raspberry Pi 3 с модулем камеры и типовой термопринтер для печати чеков, а также светодиод, кнопку, резистр на 220 Ом и картонную коробку в качестве корпуса.

Ключевым элементом устройства является приложение cartoonify, использующее нейронную сеть для распознавания объектов, обученную на наборе схематичных рисунков всевозможных предметов Google QuickDraw (примерно 5GB данных). Нейронная сеть построена с использованием платформы машинного обучения TensorFlow и использует готовую модель распознавания объектов mscoco_label_map (100Мб).

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

  1. Главная ссылка к новости
  2. OpenNews: Выпуск Dragonfire 1.0, виртуального голосового помощника для Linux
  3. OpenNews: Intel открыл систему машинного обучения для обработки информации на естественном языке
  4. OpenNews: Система машинного обучения для синтеза типового кода на языке Java
  5. OpenNews: Intel представил nGraph, компилятор для систем машинного обучения
  6. OpenNews: Facebook открыл код платформы Detectron для распознавания объектов на фотографиях
Обсуждение (43 +13) | Тип: К сведению |
09.07.2018 Релиз Memcached 1.5.9 (56 +5)
  Опубликован релиз системы кеширования данных в оперативной памяти Memcached 1.5.9, оперирующей данными в формате ключ/значение и отличающейся простотой использования. Memcached обычно применяется как легковесное решение для ускорения работы высоконагруженных сайтов путём кэширование доступа к СУБД и промежуточным данным. Код поставляется под лицензией BSD.

В новом выпуске добавлена опция "-L", включающая использование на платформе Linux больших страниц памяти (transparent hugepages), позволяющих снизить число используемых TLB-блоков (Translation Lookaside Buffer). В разряд экспериментальных переведена изоляция системных вызовов при помощи механизма seccomp (--enable-seccomp), а также отключен по умолчанию режим сброса привилегий из-за поступления жалоб о возникновении проблем (для включения следует явно указывать опцию "-o drop_privileges"). Также исправлена ошибка, которая могла привести к краху процесса при манипуляции большими элементами в условиях нехватки памяти в системе в случае использования текстового протокола.

  1. Главная ссылка к новости
  2. OpenNews: Зафиксировано использование Memcached в качестве усилителя трафика для DDoS-атак
  3. OpenNews: Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях
  4. OpenNews: Критические уязвимости в Memcached
  5. OpenNews: Выпуск СУБД Couchbase Server 4.0, сочетающей возможности CouchDB, memcached и Membase
  6. OpenNews: Проекту memcached исполнилось 10 лет
Обсуждение (56 +5) | Тип: Программы |
08.07.2018 Выпуск earlyoom 1.1, процесса для раннего реагирования на нехватку памяти (131 +12)
  После пяти месяцев разработки опубликован выпуск фонового процесса earlyoom 1.1, который периодически (10 раз в секунду) проверяет объем доступной памяти (MemAvailable, SwapFree) и пытается на ранней стадии отреагировать на возникновения нехватки памяти.

Если объём доступной памяти меньше заданного значения, то earlyoom принудительно (через отправку SIGKILL) завершит работу процесса, наиболее активно потребляющего память (имеющего самое большое значение /proc/*/oom_score), не доводя состояние системы до очистки системных буферов и мешающего работе своппинга (обработчик OOM (Out Of Memory) в ядре срабатывает когда состояние нехватки памяти уже достигло критичных значений и обычно к этому моменту система уже не реагирует на действия пользователя).

Earlyoom поддерживает отправку уведомлений о принудительно завершённых процессах на рабочий стол (с помощью notify-send), а также предоставляет возможность определения правил, в которых при помощи регулярных выражений можно задать имена процессов, завершение которых предпочтительно (опция --prefer) или остановки которых стоит избегать (опция --avoid).

Основные изменения в новом выпуске:

  • Устранена уязвимость, которая позволяет подставить shell-код при выводе всплывающих уведомлений через манипуляции с именем процесса;
  • Время сна после неудачного завершения процесса снижено с 10 до 1 секунды;
  • Всплывающие уведомления теперь отправляются после завершения процесса, а не перед;
  • В дополнение к "-h" добавлена опция "--help";
  • Исправлена проблема, приводящая к неверному отображению имен процессов во всплывающих уведомлениях;
  • Исправлено возможное деление на ноль при использовании опции "-S".

  1. Главная ссылка к новости
  2. OpenNews: Механизм уведомления приложений о нехватке памяти в системе
Обсуждение (131 +12) | Автор: hakavlad | Тип: Программы |
08.07.2018 Эксперимент по настройке Linux для блокирования 10 млн пакетов в секунду (89 +33)
  Марек Майковски (Marek Majkowski), разработчик ядра Linux, работающий в компании CloudFlare, опубликовал результаты оценки производительности различных решений на базе ядра Linux для отбрасывания огромного числа пакетов, поступающих в ходе DDoS-атаки. Наиболее высокопроизводительный метод позволил отбрасывать потоки запросов, поступающие с интенсивностью 10 млн пакетов в секунду.

Наибольшей производительности удалось добиться при использовании подсистемы eBPF, представляющей встроенный в ядро Linux интерпретатор байткода, позволяющий создавать высокопроизводительные обработчики входящих/исходящих пакетов с принятием решений об их перенаправлении или отбрасывании. Благодаря применению JIT-компиляции, байткод eBPF на лету транслируется в машинные инструкции и выполняется с производительностью нативного кода. Для блокировки использовался вызов XDP_DROP, предоставляемый подсистемой XDP (eXpress Data Path), позволяющей запускать BPF-программы на уровне сетевого драйвера, с возможностью прямого доступа к DMA-буферу пакетов и на стадии до выделения буфера skbuff сетевым стеком.

Блокировка осуществлялась при помощи загруженного в ядро простого BPF-приложения (около 50 строк кода), написанного на подмножестве языка C и скомпилированного при помощи Clang. Для загрузки скомпилированного модуля eBPF применяется недавно появившаяся в iproute2 команда "xdp obj" ("ip link set dev ext0 xdp obj xdp-drop-ebpf.o"), позволяющая обойтись без написания специализированного BPF-загрузчика. Для просмотра статистики применялась команда "ethtool -S". Логика блокировки была зашита непосредственно в BPF-приложение, например, блокируемые IP-подсеть, порт назначения и тип протокола были определены через условные операторы (системы типа bpfilter и Cilium умеют генерировать BPF-программы на основе высокоуровневых правил фильтрации):


   if (h_proto == htons(ETH_P_IP)) {
       if (iph->protocol == IPPROTO_UDP
           && (htonl(iph->daddr) & 0xFFFFFF00) == 0xC6120000 //    198.18.0.0/24
           && udph->dest == htons(1234)) {
           return XDP_DROP;
       }
   }

Другие опробованные методы блокировки:

  • Отбрасывание пакетов путём создания приложения-заглушки, принимающего запросы на целевом сетевом порту, но не выполняющего каких-либо действий ("s.bind(("0.0.0.0", 1234))" и бесконечный цикл с "s.recvmmsg()" - использование recvmmsg вместо recvmsg важно с точки зрения снижения числа системных вызовов, в свете накладных расходов при включении в ядре защиты от уязвимости Meltdown). Производительность такого решения составила всего 174 тысячи пакетов в секунду, при этом узким местом было не переключение контекста и само приложение (нагрузка была 27% sys и 2% userspace), а полная утилизация второго ядра CPU при обработке SOFTIRQ.

    Большие накладные расходы также возникали из-за ведения ядром таблиц отслеживания соединений (conntrack), отключение которых при помощи правила "iptables -t raw -I PREROUTING -d 198.18.0.12 -p udp -m udp --dport 1234 -j NOTRACK" позволило поднять производительность почти в два раза, до 333 тысяч пакетов в секунду. Дополнительное применение режима SO_BUSY_POLL подняло скорость обработки до 470 тысяч пакетов в секунду.

  • Использование BPF с привязкой к сетевому сокету и запуском на уровне ядра (как с обычным BPF, так и с eBPF). Специально написанное BPF-приложение bpf-drop, подключающее обработчик для фильтрации пакетов к сокету через вызов "setsockopt(SO_ATTACH_FILTER)", продемонстрировало производительность всего 512 тысяч пакетов в секунду (в 20 раз меньше, чем BPF-обработчик на базе XDP). Причиной низкой производительности, как и в первом рассмотренном методе, стали большие накладные расходы при обработке SOFTIRQ.
  • Применение операции DROP в iptables в цепочке INPUT (после обработки маршрутизации). При использовании следующих правил
    
       iptables -t raw -I PREROUTING -d 198.18.0.12 -p udp -m udp --dport 1234 -j NOTRACK
       iptables -I INPUT -d 198.18.0.12 -p udp --dport 1234 -j DROP
    

    удалось добиться производительности 608 тысяч пакетов в секунду.

  • Использование iptables DROP на стадии до обработки маршрутизации (PREROUTING). Замена в правиле "-I INPUT" на "-I PREROUTING -t raw" подняло производительность почти в три раза до 1.688 млн пакетов в секунду.
  • Применение операции DROP в nftables на стадии до выполнения стадии отслеживания соединений (для обхода CONNTRACK применяется "hook ingress"):
    
       nft add table netdev filter
       nft -- add chain netdev filter input { type filter hook ingress device vlan100 priority -500 \; policy accept \; }
       nft add rule netdev filter input ip daddr 198.18.0.0/24 udp dport 1234 counter drop
       nft add rule netdev filter input ip6 daddr fd00::/64 udp dport 1234 counter drop
    

    Производительность предложенного решения составила 1.53 млн пакетов в секунду, что немного отстаёт от iptables DROP с PREROUTING.

  • Применение операции DROP в ingress-обработчике tc позволило добиться производительности в 1.8 млн пакетов в секунду.
    
       tc qdisc add dev vlan100 ingress
       tc filter add dev vlan100 parent ffff: prio 4 protocol ip u32 match ip protocol 17 0xff match ip dport 1234 0xffff match ip dst 198.18.0.0/24 flowid 1:1 action drop
       tc filter add dev vlan100 parent ffff: protocol ipv6 u32 match ip6 dport 1234 0xffff match ip6 dst fd00::/64 flowid 1:1 action drop
    

  1. Главная ссылка к новости
  2. OpenNews: Оценка способности сетевого стека Linux обрабатывать миллион пакетов в секунду
  3. OpenNews: Проект LibOS развивает вариант ядра Linux с сетевым стеком в форме библиотеки
  4. OpenNews: Intel представил сокращённый вариант сетевого стека для Linux
  5. OpenNews: Открыт код Syncookied, системы защиты от DDoS-атак
  6. OpenNews: CloudFlare применил NetMap для повышения скорости обработки пакетов в Linux
Обсуждение (89 +33) | Тип: Обобщение |
07.07.2018 Выпуск открытого 4G-стека srsLTE 18.06 (73 +23)
  Доступен выпуск srsLTE 18.06, открытого стека для развёртывания компонентов сотовых сетей LTE/4G без наличия спецоборудования, используя только универсальные программируемые приёмо-передатчики, форма сигнала и модуляция которых задаётся программно (SDR, Software Defined Radio). Код проекта поставляется под лицензией AGPLv3.

Компоненты стека:

  • srsUE - полная реализация LTE UE (User Equipment), определяющая компоненты на стороне пользователя, необходимые для подключения абонента к сети LTE. Среди возможностей отмечается реализация всех уровней от PHY до IP, функции поиска базовой станции, процедура синхронизации, аутентификация через программный USIM с использованием алгоритмов Milenage и XOR, поддержка карт USIM с подключением при помощи инструментария PCSC, создание виртуального сетевого интерйфейса tun_srsue. Реализация позволяет добиться производительности приёма данных до 150 Mbps при использовании частоты 20 MHz в конфигурации MIMO TM3/TM4 (несколько антенн) и 75 Mbps в конфигурации SISO (одна антенна) на системах с CPU i7 Quad-Core. Работа srsUE протестирована совместно с базовыми станциями на основе оборудования Amarisoft LTE100, Nokia FlexiRadio, Huawei DBS3900 и Octasic Flexicell;
  • srsENB - приложение для работы в роли базовой станции LTE (eNodeB, E-UTRAN Node B), осуществляющей взаимодействие с клиентским оборудованием. Среди особенностей srsENB: планировщик распределения MAC-адресов с похожим на FAPI C++ API, поддержка работы на базе программных приёмо-передачиков (SDR), измерение качества канала связи при помощи CQI (Channel Quality Indicator), использования стандартных интерфейсов S1AP и GTP-U для взаимодействия с опорной сетью. Работа srsENB проверена совместно с устройствами LG Nexus 4 и 5, Motorola Moto G4 plus и G5, Huawei P9/P9lite, P10/P10lite и P20/P20lite, а также с 4G-модемами Huawei E3276 и E398. В режиме 20 MHz MIMO TM3/TM4 обеспечивается пропускная способность 150 Mbps для загрузки данных и 50 Mbps для выгрузки, в конфигурации SISO скорость загрузки составляет 75 Mbps;

  • srsEPC - реализация компонентов опорной сети LTE (core network), включающая модули:
    • MME (Mobility Management Entity) c поддержкой стандартов S1AP и GTP-U для взаимодействия с базовыми станциями. Обеспечивает мобильность, отслеживает перемещение абонента и выполняет миграцию между базовыми станциями;
    • HSS (Home Subscriber Server), хранит базу абонентов и информацию о привязанных к абонентам услугам). БД абонентов задаётся в формате CSV;
    • SGW (Serving Gateway), обрабатывает и маршрутизирует пакеты для базовых станций;
    • PGW (Packet Data Network Gateway), обеспечивает подключение абонента к внешним сетям, выполняет фильтрацию пакетов и биллинг. SGW и PGW реализованы на уровне виртуального сетевого интерфейса, работающего через устройство TUN;
  • Набор библиотек для работы на различных уровнях стека (PHY, MAC, RLC, PDCP, RRC, NAS, S1AP и GW).

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

  • Система может работать с любыми программируемыми приёмо-передатчиками, поддерживаемыми драйверами 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;

Новая версия примечательна добавлением поддержки интерфейса eMBMS (Multimedia Broadcast Multicast Service) в модулях srsUE/srsENB/srsEPC, который позволяет создавать в LTE-сетях сервисы для широковещательной (point-to-multipoint) передачи видео и звука, мобильного телевидения, доставки файлов и оповещения абонентов об экстренных ситуациях. В srsLTE 18.06 также выполнена оптимизация производительности всех компонентов стека и добавлена возможность использования обычных SIM-карт (помимо USIM и виртуальных USIM).

  1. Главная ссылка к новости
  2. OpenNews: Выявлены уязвимости, позволяющие манипулировать трафиком в сетях 4G LTE
  3. OpenNews: Продемонстрированы прием и расшифровка GSM с помощью RTL-SDR
  4. OpenNews: Создание собственной базовой станции GSM из подручных средств
  5. OpenNews: В Debian добавлены пакеты для развёртывания GSM-сети
  6. OpenNews: Продемонстрирована базовая станция GSM на базе свободного ПО и бюджетного телефона
Обсуждение (73 +23) | Тип: Программы |
06.07.2018 Доступен пакетный менеджер GNU Guix 0.15 и дистрибутив GuixSD на его основе (54 +15)
  Проект GNU опубликовал пакетный менеджер GNU Guix 0.15 и построенный на его основе дистрибутив GNU/Linux - GuixSD (Guix System Distribution). Допускается установка как в качестве обособленной ОС в системах виртуализации и на обычном оборудовании, так и запуск в уже установленных типовых окружениях GNU/Linux. Для загрузки сформированы образы для установки на USB Flash и использования в QEMU (190 Мб). Поддерживается работа на архитектурах i686, x86_64, armv7, aarch64 и mips64el.

Пакетный менеджер GNU Guix основан на наработках проекта Nix и кроме типичных функций управления пакетами поддерживает такие возможности, как выполнение транзакционных обновлений, возможность отката обновлений, работа без получения привилегий суперпользователя, поддержка привязанных к отдельным пользователям профилей, возможность одновременной установки нескольких версий одной программы, средства уборки мусора (выявление и удаление неиспользуемых версий пакетов). Для определения сценариев сборки приложений и правил формирования пакетов предлагается использовать специализированный высокоуровневый предметно-ориентированный язык и компоненты Guile Scheme API, позволяющие выполнять все операции по управлению пакетами на функциональном языке программирования Scheme.

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

Сборочное окружение для пакетов формируется в виде контейнера, содержащего все необходимые для работы приложений компоненты, что позволяет сформировать набор пакетов, способный работать без оглядки на состав базового системного окружения дистрибутива, в котором Guix используется в качестве надстройки. Между пакетами Guix возможно определение зависимостей, при этом для поиска наличия уже установленных зависимостей используется сканирование хэшей-идентификаторов в директории установленных пакетов. Пакеты устанавливаются в отдельное дерево директорий или поддиректорию в каталоге пользователя, что позволяет обеспечить его параллельное сосуществование с другими пакетными менеджерами и обеспечить поддержку широкого спектра существующих дистрибутивов. Например, пакет устанавливается как /nix/store/f42d68df5d3a0b426064a6a54a7c6f02-firefox-61.0.0/, где "f42d68..." является уникальным идентификатором пакета, используемым для контроля зависимостей.

Дистрибутив включает только свободные компоненты и поставляется с ядром GNU Linux-Libre, очищенным от несвободных элементов бинарных прошивок. Для сборки применяется GCC 7. В качестве системы инициализации используется сервисный менеджер GNU Shepherd (бывший dmd), развиваемый как альтернатива SysV-init с поддержкой зависимостей. Управляющий демон и утилиты Shepherd написаны на языке Guile (одна из реализаций языка Scheme), который также используется и для определения параметров запуска сервисов. Базовый образ поддерживает работу в консольном режиме, но для установки подготовлено более 7800 готовых пакетов, среди которых и компоненты графического стека на базе X.Org, оконные менеджеры dwm и ratpoison, а также ряд программ на базе библиотеки GTK+.

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

  • В команде 'guix pack’ появилась возможность сборки образов со SquashFS и создания tar-архивов с перемещаемыми исполняемыми файлами;
  • Добавлены новые команды "guix system docker-image" и "guix offload status";
  • Для guix-daemon реализован набор правил SELinux и добавлена поддержка сборок ARMv7 на системах AArch64;
  • В "guix system" обеспечен вывод информации о модулях ядра, которые следует добавить в initrd, а также предупреждений о некорректно сопоставленных устройствах и нехватке дискового пространства
  • В настройку operating-system добавлено новое поле initrd-modules;
  • Пакеты для Python 2.x переименованы с "python" на "python2";
  • Возобновлена поддержка систем RHEL6 с ядром Linux 2.6;
  • Сервисный менеджер GNU Shepherd обновлён до версии 0.4.0 и теперь сохраняет логи через syslogd;
  • Добавлены новые системные сервисы для alsa, cat-avatar-generator, darkstat, dhcpd, dnsmasq, enlightenment, fprintd, hpcguix-web, httpd, mate, modem-manager, openntpd, php-fpm, qemu-binfmt и wesnothd;
  • Обновлены версии программ в 2231 пакете, добавлено 1200 новых пакетов, в том числе android-bionic-uapi, daemontools, git-annex, keepalived, krita ,google-brotli, lyx, mate, qtwebview, vsftpd, wpa-supplicant-gui, wine-staging и youtube-viewer, а также большие подборки модулей для Emacs, Go, Java, R, Perl, Python и Haskell.

  1. Главная ссылка к новости
  2. OpenNews: Доступен пакетный менеджер GNU Guix 0.14 и дистрибутив GuixSD на его основе
  3. OpenNews: Эндрю Таненбаум поблагодарил Intel за использование MINIX в прошивке Management Engine 11
  4. OpenNews: Доступен пакетный менеджер Nix 2.0
  5. OpenNews: Доступен дистрибутив NixOS 18.03, использующий пакетный менеджер Nix
Обсуждение (54 +15) | Тип: Программы |
<< Предыдущая страница (позже)
Следующая страница (раньше) >>


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