The OpenNET Project / Index page

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

22.11.2017 Uber раскрыл сведения об утечке персональных данных 57 млн пассажиров (1 +1)
  Компания Uber раскрыла информацию о произошедшем в октябре 2016 года инциденте, в результате которого злоумышленники получили доступ к данным в облаке Amazon AWS и смогли загрузить сведения о 600 тысячах водителей и 57 млн пассажиров сервиса.

Взлом был произведён путём перехвата параметров входа в приватную секцию GitHub, в которой разрабатывалось программное обеспечения для работы сервиса. В составе кода атакующие нашли параметры аутентификации для Amazon AWS S3 и подключившись к ним смогли загрузить актуальные данные о пользователях и водителях. В загруженных данных фигурировали ФИО, номера водительских удостоверений (для водителей), email и номера телефонов. По заверению представителей Uber сведения о местоположении, история передвижения, параметры счетов, коды кредитных карт и номера социального страхования не пострадали.

Особенностью инцидента стало то, что Uber пошёл на поводу у атаковавших и выплатил им 100 тысяч долларов в обмен на обещание удалить полученную информацию и не сообщать о произошедшем. Гарантией исполнения обещания стало то, что удалось выяснить личности атаковавших и в случае неисполнения обязательства им грозил серьёзный срок заключения. Передача денег была оформлена как выплата вознаграждения за участие в программе по выявлению уязвимостей (Uber Engineering Bug Bounty), подразумевающей подписание соглашения о неразглашении.

Информация о взломе раскрыта после вступления на пост нового руководителя компании, который считает недопустимым сокрытие подобных инцидентов. Новый CEO также уволил курирующего оформление сделки юриста и попросил покинуть свой пост руководителя службы безопасности. Сведения о выплате и увольнениях получены изданием Bloomberg из своих источников.

  1. Главная ссылка к новости
  2. OpenNews: Взлом 2013 года привёл к утечке учётных записей 3 миллиардов пользователей Yahoo
  3. OpenNews: Equifax подтвердил, что взлом произошёл из-за игнорирования обновления Apache Struts
  4. OpenNews: Второй взлом инфраструктуры BitTorrent-клиента Transmission
  5. OpenNews: Уязвимость в Apache Struts стала причиной утечки персональных данных 143 млн американцев
  6. OpenNews: Фонд СПО сообщил об утечке данных пользователей из-за забытой резервной копии
Обсуждение (1 +1) | Тип: К сведению |
22.11.2017 Проблемы с BCache в ядре Linux 4.14 могут привести к повреждению данных (13 +3)
  Пользователи дистрибутива Gentoo обратили внимание на регрессивное изменение в ядре Linux 4.14, которое может привести к повреждению содержимого файловой системы при использовании механизма BCache для кэширования доступа к медленным жестким дискам на быстрых SSD-накопителях. Исправление уже предложено для ядра Linux и будет включено в выпуск 4.14.2.

Суть проблемы в том, что в ядре 4.14 в системе блочного ввода/вывода (bio) для указания информации о разделах было представлено новое поле bi_partno, вместо того чтобы использовать уже применяемый метод кодирования сведений в поле bi_bdev в структуре bdev->bd_contains. Функция __bio_clone_fast была адаптирована для копирования информации о диске, но не корректно обрабатывала информацию о разделах на нём, что могло привести к повреждению содержимого при использовании BCache.

В зависимости от настроек проблема проявляется выдачей некорректных данных при чтении из раздела BСache, но также отмечаются и случаи невосстановимых повреждений базового раздела после его монтирования в составе BCache. Не исключено, что проблема может проявляться и для других блочных подсистем ядра, использующих вызов __bio_clone_fast.

  1. Главная ссылка к новости
  2. OpenNews: В реализации программного RAID для Linux обнаружена ошибка, которая может привести к повреждению мета-данных
  3. OpenNews: Уязвимость в NAND Flash может привести к повреждению чужих данных на SSD-накопителях
  4. OpenNews: Выпущен патч для исправления ошибки в ext4, которая могла привести к повреждению ФС
  5. OpenNews: Содержимое ячеек DRAM может быть повреждено в результате цикличного чтения
  6. OpenNews: Проблема с повреждением разделов Ext4 оказалась в md-raid0
Обсуждение (13 +3) | Тип: К сведению |
22.11.2017 Обновление дистрибутива LXLE 16.04.3 (9 +2)
  Представлен выпуск дистрибутива LXLE 16.04.3, ориентированного для использования на устаревших системах. Дистрибутив LXLE основан на наработках Ubuntu MinimalCD и пытается предоставить максимально легковесное решение, сочетающее поддержку устаревшего оборудования с современным пользовательским окружением. Необходимость в создании отдельного ответвления обусловлена желанием включения в состав дополнительных драйверов для старых систем и переработкой пользовательского окружения. Размер загрузочных iso-образов 1.6 Гб (x86_64, i386).

Для навигации по Сети в дистрибутиве предлагается набор интернет-приложений SeaMonkey с дополнениями Lightning, Stylish, Bluhell firewall и FireFTP. Для обмена сообщениями поставляется uTox. Для установки обновлений применяется собственный менеджер обновлений uCareSystem, запускаемый при помощи cron с целью избавления от лишних фоновых процессов. По умолчанию предлагается файловая система Btrfs. Графическое окружение построено на базе компонентов LXDE, оконного менеджера Compton, ланчера Fehlstart и приложений от проектов LXQt, MATE и Linux Mint.

Состав нового выпуска синхронизирован с пакетной базой LTS-ветки Ubuntu 16.04.3. Из изменений отмечается замена obkey на LXhotkey, модернизация меню приложений и темы оформления, интеграция компонентов из MATE, LXQT и Linux Mint, оптимизация предлагаемых по умолчанию PPA-репозиториев, адаптация темы оформления GTK+ для поставки приложений на базе Qt, возможность включения визуальных эффектов таких как затенение и прозрачность окон, средства для воспроизведения видео без разрывов (режим TearFree).

  1. Главная ссылка к новости
  2. OpenNews: Представлен LXLE, вариант Lubuntu для устаревших систем
  3. OpenNews: Выпуск легковесного дистрибутива antiX 17
  4. OpenNews: Доступно десктоп-окружениe LXQt 0.12
  5. OpenNews: Выпуск LXDE-common 0.5.6
  6. OpenNews: Выпуск файлового менеджера PCManFM 1.2.5, развиваемого проектом LXDE
Обсуждение (9 +2) | Тип: Программы |
22.11.2017 Выпуск дистрибутива OpenMandriva Lx 3.03 (5 +2)
  Доступен выпуск дистрибутива OpenMandriva Lx 3.03. Проект развивается силами сообщества после того как компания Mandriva S.A. передала управление проектом в руки некоммерческой организации "OpenMandriva Association". Дистрибутив примечателен использованием по умолчанию компилятора Clang, инсталлятором на базе проекта Calamares и наличием пользовательского окружения LXQt. Для загрузки предлагается Live-сборка размером 2.3 Гб (x86_64, i586).

Из изменений в OpenMandriva Lx 3.03 отмечается проведение работы по сокращению времени загрузки, как для стационарно установленных систем, так и для Live-сборок. Обновлены версии программ: KDE Plasma 5.10.5, KDE Applications 17.04.0, X.org Server 1.19.5, Wayland 1.14.0, Mesa 17.2.3, ядро Linux 4.13.12, systemd 234, LLVM/clang 5.0.0, gcc 7.2.1_2017.10, glibc 2.26, LibreOffice 5.4.3, Qupzilla 2.2.1, Firefox 57.0, SMPlayer 17.10.2, VLC 2.2.4. OpenMandriva Lx 3.03 заявлен как последний выпуск с поддержкой архитектуры i586, в дальнейшем сборки будут формироваться только для 64-разрядных систем.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск дистрибутива OpenMandriva Lx 3.02
  3. OpenNews: Выпуск дистрибутива OpenMandriva Lx 3.01
  4. OpenNews: Релиз дистрибутива OpenMandriva Lx 3.0
  5. OpenNews: OpenMandriva переходит на Clang и новый инсталлятор
  6. OpenNews: Проект OpenMandriva запустил собственную инфраструктуру разработки
Обсуждение (5 +2) | Тип: Программы |
21.11.2017 Релиз qBittorrent 4.0.0 (78 +29)
  Представлен релиз торрент-клиента qBittorrent 4.0.0, написанного с использованием тулкита Qt и развиваемого как открытая альтернатива µTorrent, приближенная к нему по интерфейсу и функциональности.

Среди реализованных новшеств:

  • Новый набор пиктограмм, основанный на векторных изображениях в формате SVG, который в будущем сможет масштабироваться в зависимости от плотности пикселей на экране;
  • Полностью прекращена поддержка Qt 4, в качестве минимальной версии заявлен Qt 5.5.1;
  • Добавлен интерфейс для управления локальным списком заблокированных IP;
  • Возможность определения пути для сохранения/чтения файлов конфигурации;
  • Возможность передачи опций через переменные окружения, а не только через аргументы командной строки;
  • Возможность слияния подкаталогов в многофайловых торрентах;
  • Добавлен виджет для отображения путей файловой системы в процессе набора в диалоге добавления нового торрента;
  • Возможность смены позиции столбцов в списке трекеров;
  • Модернизирован интерфейс создания торрентов;
  • Включена возможность использования drag&drop для создания торрента в основном окне;
  • Добавлена опция для показа/скрытия строки состояния;
  • В интерфейс добавлена функция привязки нескольких тегов;
  • В настройках расширено число опций для управления параметрами libtorrent.

  1. Главная ссылка к новости
  2. OpenNews: Проект Elementary OS представил BitTorrent-клиент Torrential
  3. OpenNews: Второй взлом инфраструктуры BitTorrent-клиента Transmission
  4. OpenNews: Доступен торрент-клиент qBittorrent 3.3.5
  5. OpenNews: Релиз BitTorrent-клиента KTorrent 5.0
  6. OpenNews: Взлом инфраструктуры свободных проектов Deluge и qBittorrent
Обсуждение (78 +29) | Тип: Программы |
21.11.2017 Выпуск nginx 1.13.7 (6 +5)
  Доступен выпуск основной ветки высокопроизводительного HTTP-сервера nginx 1.13.7, в котором реализованы следующие изменения:
  • Исправлена ошибка передачи переменной $upstream_status, проявляющаяся в конфигурации 'proxy_next_upstream http_503 http_504', где передавалось неверное значения 502 вместо 503/504;
  • Устранён крах рабочего процесса (segmentation fault), который мог произойти если бэкенд возвращал ответ "101 Switching Protocols" на подзапрос;
  • Устранён крах рабочего процесса, который мог произойти если при переконфигурации изменялся размер зоны разделяемой памяти и переконфигурация завершалась неудачно;
  • Исправлены ошибки в модуле ngx_http_fastcgi_module;
  • Исправлена ошибка при которой nginx возвращал ошибку 500, если в директиве xslt_stylesheet были заданы параметры без использования переменных;
  • Внесены изменения в nginx, решающие проблемы с использованием варианта библиотеки zlib от Intel, при которой в лог писались сообщения "gzip filter failed to use preallocated memory";
  • Исправлена ошибка из-за которой директива worker_shutdown_timeout не работала при использовании почтового прокси-сервера и при проксировании WebSocket-соединений.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск nginx 1.13.7
  3. OpenNews: Доступен сервер приложений NGINX Unit 0.2
  4. OpenNews: Увеличение пропускной способности и минимизация задержек на серверах с nginx
  5. OpenNews: Выпуск nginx 1.13.5
Обсуждение (6 +5) | Автор: eRIC | Тип: Программы |
21.11.2017 Релиз системы сборки CMake 3.10 ( +2)
  Состоялся релиз кроссплатформенного открытого генератора сценариев сборки CMake 3.10, выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Код CMake написан на языке C++ и распространяется под лицензией BSD.

CMake примечателен предоставлением простого языка сценариев, средствами расширения функциональности через модули, минимальным числом зависимостей (нет привязки к M4, Perl или Python), поддержкой кэширования, наличием инструментов для кросс-компиляции, поддержкой генерации файлов сборки для широкого спектра систем сборки и компиляторов, наличием утилит ctest и cpack для определения сценариев тестирования и сборки пакетов, утилитой cmake-gui для интерактивной настройки параметров сборки.

Основные улучшения:

  • Добавлена поддержка flang, компилятора для языка Fortran;
  • Добавлена поддержка компилятора MSVC для архитектуры ARM64, появившегося в Visual Studio 2017 Update 4;
  • Добавлена команда "include_guard()" для защиты от включения скриптов более одного раза;
  • Переработан модуль FindMPI, в котором появилась возможность задания специфичных для языков компонентов, улучшена поддержка Fortran и добавлена поддержка статически связанных реализаций MPI;
  • Добавлен модуль FindOpenACC для определения поддержки OpenACC в компиляторе. В настоящее время поддерживаются только компиляторы PGI, GNU и Cray;
  • Расширены возможности модуля FindOpenGL, в котором появилась поддержка определения GLVND и EGL в окружении Linux;
  • В модуль GoogleTest добавлена команда gtest_discover_tests() для определения тестов на этапе сборки;
  • В модуль CPack добавлен генератор FREEBSD с поддержкой пакетного менеджера pkg для FreeBSD. Генератор DEB, настраиваемый модулем CPackDeb, по умолчанию включён в окружении Windows;
  • В режиме "cmake -E" появилась поддержка sha1sum, sha224sum, sha256sum, sha384sum и sha512sum.
  • В команду file(GENERATE) добавлена возможность задания относительных путей для аргументов OUTPUT и INPUT.

  1. Главная ссылка к новости
  2. OpenNews: Релиз системы сборки CMake 3.9
  3. OpenNews: Компания Yahoo открыла код сборочной платформы Screwdriver
  4. OpenNews: Выпуск сборочного инструментария qbs 1.8, развиваемого проектом Qt
  5. OpenNews: Разработчик языка XL опубликовал новую сборочную систему build
  6. OpenNews: Доступна система сборки Meson 0.42, на которую переходят systemd, GTK+ и GNOME
Обсуждение ( +2) | Тип: Программы |
21.11.2017 Выпуск Firefox-дополнения NoScript 10, переведённого на технологию WebExtension (61 +23)
  Состоялся релиз новой ветки NoScript 10, популярного дополнения для блокирования нежелательного JavaScript-кода. Выпуск примечателен переводом дополнения с XUL на WebExtension, что позволяет использовать его вместе с Firefox 57, в котором была прекращена поддержка XUL. Сопровождение прошлой ветки NoScript 5.x, базирующейся на XUL, планируется обеспечить до времени окончания поддержки ESR-ветки Firefox 52.

Кроме перехода на WebExtension в новой версии NoScript реализована система блокирования скриптов на основе ограничений на загрузку ресурсов, определённых через правила CSP (Content Security Policy). Также реализован фильтр для противодействия XSS-атакам, учитывающий запросы через асинхронный API webRequest, и возможность по мере работы построения белого списка межсайтовых запросов. В режимы DEFAULT, TRUSTED, UNTRUSTED и CUSTOM добавлен блокировщик активного контента. При этом, в связи с отсутствием в API WebExtension некоторых необходимых для работы возможностей, функциональность NoScript 10 пока отстаёт от прошлых выпусков, например, пока нет поддержки ClearClick (защита от Clickjacking) и ABE (Application Boundaries Enforcer, защита от CSRF).

  1. Главная ссылка к новости
  2. OpenNews: Выпуск Firefox 57 с многопоточным CSS-движком и новым оформлением
  3. OpenNews: В Firefox 58 появится защита от скрытой идентификации пользователей при помощи Canvas
  4. OpenNews: Mozilla планирует протестировать в Firefox возможности Lockbox, Tabsplit, ThemesRfun и Foxy
  5. OpenNews: Эксперимент Mozilla приведёт к утечке данных, вводимых в адресной строке Firefox
  6. OpenNews: В Firefox-дополнении NoScript 5.0 начался переход на технологию WebExtension
Обсуждение (61 +23) | Тип: Программы |
21.11.2017 Обновление Samba 4.7.3, 4.6.11 и 4.5.15 с устранением уязвимостей (8 +4)
  Опубликованы корректирующие выпуски Samba 4.7.3, 4.6.11 и 4.5.15, в которых устранены две уязвимости:
  • CVE-2017-14746 - уязвимость, вызванная обращением к уже освобождённому блоку памяти, позволяет получить контроль за содержимым кучи через манипуляции с находящимся в освобождаемой области указателем. Через отправку специально оформленного запроса SMB1 атакующие потенциально могут выполнить код на сервере. В качестве обходного пути защиты рекомендуется запретить использование протокола SMB1, добавив в настройки "server min protocol = SMB2". Проблема проявляется во всех выпусках, начиная с Samba 4.0;
  • CVE-2017-15275 - отсутствие очистки памяти перед применением структур данных может привести к утечке содержимого памяти серверного процесса (например, хэшей паролей и данных, используемых в обработке предыдущего запроса) в составе отправляемых клиенту ответов. Проблема проявляется начиная с выпуска Samba 3.6.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск Samba 4.7.0
  3. OpenNews: Обновление Samba 4.6.8, 4.5.14 и 4.4.16 с устранением уязвимостей
  4. OpenNews: Критическая уязвимость в Heimdal Kerberos, затрагивающая Samba 4
  5. OpenNews: Зафиксированы атаки для майнинга криптовалюты на уязвимых серверах Samba и на Raspberry Pi
  6. OpenNews: Уязвимость в Samba, позволяющая выполнить код на сервере
Обсуждение (8 +4) | Тип: Проблемы безопасности |
21.11.2017 Let's Encrypt занял 36% рынка удостоверяющих центров (67 +14)
  По статистике NetTrack более 36% HTTPS-сайтов в сети используют сертификаты, выданные некоммерческим удостоверяющим центром Let’s Encrypt, контролируемым сообществом и предоставляющим сертификаты безвозмездно всем желающим. На текущий момент службой Let's Encrypt выдано 46 млн сертификатов, охватывающих около 60 млн доменов. На втором месте удостоверяющий центр COMODO (19%), а на третьем GeoTrust (11%).

Общая доля запросов страниц по HTTPS составила 65%, судя по статистике, полученной в рамках работы сервиса Firefox Telemetry. Для сравнения, два года назад при запуске проекта Let’s Encrypt этот показатель составлял 40%, а в начале 2017 года достиг значения в 50%.По статистике Google доля страниц, открытых по HTTPS, составляет от 68% до 86% (ChromeOS - 86%, macOS - 84%, Linux - 82%, Windows - 80%, Android - 68%).

Дополнительно можно отметить объявление о сворачивании деятельности удостоверяющего центра StartCom, владельцы которого решили не возвращать к жизни сервис, который утратил доверие ведущих производителей браузеров, принявших решение исключить его корневой сертификат из своих хранилищ, после выявления серьёзных нарушений. Деятельность StartCom будет остановлена начиная с 1 января 2018 года, но работа служб CRL и OCSP будет осуществляться ещё два года до окончании времени действия корневого сертификата. Доля сертификатов StartCom оценивается в 0.02%, в то время как год назад данное значение составляло 2% (шестой по величине удостоверяющий центр).

  1. Главная ссылка к новости
  2. OpenNews: В Firefox 58 будет прекращено доверие ко всем сертификатам WoSign и StartCom
  3. OpenNews: Google предупредил о скором прекращении доверия ко всем сертификатам WoSign и StartCom
  4. OpenNews: Google и Apple присоединились к блокировке сертификатов WoSign и StartCom
  5. OpenNews: Let's Encrypt обеспечит поддержку масок в сертификатах
  6. OpenNews: Сервис Let's Encrypt преодолел рубеж в 100 млн сертификатов
Обсуждение (67 +14) | Тип: К сведению |
21.11.2017 Серия критических уязвимостей в Intel Management Engine (122 +9)
  Компания Intel объявила об устранении серии уязвимостей в различных версиях прошивок для подсистемы Intel ME (Management Engine) и связанных с ней компонентах Intel Trusted Execution Engine и Server Platform Service. Всего раскрыты данные о 10 новых уязвимостях, которые были выявлены в процессе проведения аудита безопасности Intel ME. Проблемы проявляются на системах с 6, 7 и 8 поколением процессоров Intel Core, в Intel Atom C3000, Atom E3900, Intel Pentium Apollo Lake и Celeron серии N и J, а также в серверных системах на базе Intel Xeon E3-1200 v5 и v6, Xeon W и Xeon Scalable. Всем пользователям рекомендовано установить обновление прошивки. Для проверки наличия уязвимостей для Linux и Windows подготовлена специальная утилита.

Intel ME поставляется в большинстве современных материнских плат с процессорами Intel и реализован в виде отдельного микропроцессора, работающего независимо от CPU и выполняющего задачи, которые необходимо отделить от операционной системы, такие как обработка защищённого контента (DRM), реализация модулей TPM (Trusted Platform Module) и низкоуровневые интерфейсы для мониторинга и управления оборудованием. Начиная с Intel ME 11 в прошивке используется отдельная операционная система, основанная на коде ОС MINIX, которая работает параллельно с основной ОС без привлечения центрального процессора. Компрометация Intel ME позволяет получить полный доступ ко всему системному окружению, при том, что вредоносная активность будет незаметна из основной ОС.

Часть уязвимостей специфична для интерфейса удалённого управления оборудованием Active Management Technology (AMT), который используется на серверных системах и некоторых бизнес-моделях ноутбуков. Уязвимости позволяют выполнить произвольный код в контексте окружения AMT при наличии удалённого доступа к интерфейсу. Атакующий должен знать параметры аутентификации для подключения к AMT, но также может атаковать необновлённые системы с ранее найденной уязвимостью, позволяющей подключиться с пустым паролем. Сам по себе доступ к AMT уже предоставляет достаточный набор средств для совершения атаки на операционную систему, например, можно отключить UEFI Secure Boot для загрузки неверифицированных компонентов. Предоставляемая новыми уязвимостями возможность выполнения кода дополнительно позволяет манипулировать работой AMT, например отключить индикатор режима мониторинга и организовать скрытое наблюдение за содержимым экрана (при штатном режиме мониторинга на экран выводится рамка, уведомляющая пользователя о наблюдении).

Другая часть уязвимостей позволяет выполнить код в контексте ядра прошивки Intel ME, имея локальный доступ к основной системе. Уязвимости могут применяться для запуска вредоносного кода вне области видимости основной ОС и компрометации механизма Intel PTT (Platform Trust Technology), позволяющего выполнять модули TPM (Trusted Platform Module) с защищёнными обработчиками, например, используемыми для выполнения операций шифрования и хранения ключей в отдельном от операционной системы окружении. Уязвимости в Intel ME дают возможность получить доступ к этому окружению, в том числе к хранящимся там EK-ключам (Endorsement Key), используемым для идентификации модулей TPM, что сводит на нет уровень доверия к TPM-обработчикам.

Уязвимости также потенциально могут использоваться для обхода средств для загрузки в Intel ME только прошивок, заверенных цифровой подписью. Так как уязвимость эксплуатируется при обработке неподписанных данных, атакующий может изменить эти данные и добиться эксплуатации уязвимости при каждой загрузке Intel ME, после чего отключать Boot Guard и загружать любой код, полностью контролируя состав прошивки. Так как после загрузки окружение становится подконтрольным злоумышленнику и невозможно доверять информации из Intel ME в уже загруженной системе, единственным вариантом восстановления остаётся ручная перепрошивка Flash через SPI (для большинства компаний дешевле будет купить новое оборудование).

Дополнительно можно отметить планы Intel полностью прекратить поддержку BIOS к 2020 году, оставив только возможность использования UEFI. Обязательным станет использование спецификации UEFI Class 3, которая не предусматривает наличие интерфейса для Legacy BIOS.

  1. Главная ссылка к новости
  2. OpenNews: Эндрю Таненбаум поблагодарил Intel за использование MINIX в прошивке Management Engine 11
  3. OpenNews: Google развивает открытую замену прошивкам UEFI
  4. OpenNews: Выявлена скрытая возможность отключения подсистемы Intel ME
  5. OpenNews: Intel устранил удалённую уязвимость в технологии AMT (Active Management Technology)
  6. OpenNews: Концепция stateless-ноутбука, защищённого от аппаратных бэкдоров
Обсуждение (122 +9) | Тип: Проблемы безопасности | Интересно
20.11.2017 Анализ степени дублирования кода на GitHub (44 +13)
  Представлены результаты изучения дублирования кода в общем объёме исходных текстов, размещённых на GitHub. Проанализировано 4.5 млн различных проектов (без форков репозиториев), включающих более 428 млн файлов с кодом на языках Java, C++, Python и JavaScript. Из этих файлов лишь 85 млн оказались уникальными, т.е. 80% кода на GitHub являются копиями других файлов.

Определение дубликатов выполнялось несколькими методами: путём сравнения хэшей файлов (полные копии), хэшей сгруппированного набора токенов из файла (не учитывает форматирование и комментарии) и оценки частичного заимствования кода при помощи SourcererCC (определён отредактированный код с 80% общих токенов).

Наиболее часто дубликаты встречаются в коде на языке JavaScript, для которого лишь 6% файлов не совпадают (т.е. 94% файлов являются полными клонами 6% файлов), 5% не совпадают по хэшу набора токенов и 3% отличаются с учётом редактирования кода. Наименьшее число дубликатов выявлено для кода на языке Java, для которого не повторяется 60% файлов, 56% наборов токенов и 30% отличаются с учётом редактирования кода. Для C++ эти показатели составляют 27%, 23% и 13%, а для Python - 29%, 27% и 19%.

Наиболее часто повторяющимся стал пустой файл, размером 0 байт, который встречается 2.2 млн раз. Но игнорирование при проверке мелких файлов, в которых встречаются менее 50 токенов, почти не сказывается на уровне совпадений:

Распределение языков по уровню дублирования кода также сохраняется, если провести сравнение не на уровне файлов, а на уровне проектов. Например, около 15% проектов на JavaScript являются полными клонами других проектов, 31% проектов копируют более 80% кода из других проектов, а 48% копируют более 50% кода. Для Java эти показатели составляют 6%, 9% и 14%.



Попытки разобраться почему степень дублирования кода столь велика показали, что наиболее частой причиной появление дубликатов, является включение в репозитории проектов кода из сторонних библиотек и фреймворков, вместо подключения их как внешних зависимостей. Например, для JavaScript очень велика доля копий библиотек, распространяемых через NPM. Несмотря на то, что только 6% проектов включают каталог node_modules, 70% из всех дубликатов на JavaScript связаны с копированием модулей NPM.

В среднем в JavaScript-проект включается 63 зависимости, а уровень вложенности зависимостей составляет 5 (максимальное зафиксированное число зависимостей - 1261, максимальный уровень вложенности - 47). Кроме NPM-модулей достаточно часто в проект включается библиотека jQuery. В Java чаще остальных дублируются компоненты ActionBarSherlock и Cordova, в C/C++ - boost и freetype, в Python копирование распределено более равномерно по разнообразным библиотекам.

Совпадения на уровне изменённого кода (частичное совпадение при проверке SourcererCC)чаще всего оказались вызванными использованием "копипастинга", а также ненамеренным копированием кода или автогенерацией кода в процессе применения типовых фреймворков. Например, для Java чаще всего совпадения выявлялись в коде, сгенерированном при помощи Apache Axis, Android SDK и JAXB, для Python при помощи Django, а для JavaScript - Angular.

  1. Главная ссылка к новости
  2. OpenNews: GitHub опубликовал статистику за 2017 год
  3. OpenNews: Применение тайпсквоттинга для распространения вредоносных модулей NPM, PyPI и Gems
  4. OpenNews: Инцидент с захватом прав на NPM-модуль привёл к сбою в работе проектов, использующих NPM
  5. OpenNews: Незащищённость NPM к атакам по внедрению вредоносных модулей-червей
  6. OpenNews: NPM стал крупнейшим репозиторием пакетов
Обсуждение (44 +13) | Тип: Тема для размышления |
20.11.2017 Релиз свободной гоночной игры SuperTuxKart 0.9.3 (40 +33)
  После полутора лет разработки опубликован релиз Supertuxkart 0.9.3, свободной гоночной игры с большим количеством картов, трасс и возможностей. Код игры распространяется под лицензией GPLv3. Бинарные сборки доступны для Linux, Android, Windows и macOS.

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

  • Сокращено потребление памяти и ускорена загрузка игры;
  • Задействован новый формат мэшей, оптимизированный для сокращения размера и обработки на стороне GPU;
  • Проведён рефакторинг кода, обеспечивающего отрисовку;
  • Обновлены карты Wilber, Hexley и Konqi. Добавлен новый карт Kiki (талисман проекта Krita);
  • Добавлены новые трассы Cornfield Crossing (поездки по ферме) и Candela City (европейский ночной город);
  • Улучшен движок симуляции физических процессов;
  • Улучшены графические эффекты при движении картов (реализованы свет от фар и дым из выхлопной трубы);
  • Встроена функция создания видеороликов с записью содержимого экрана (используется библиотека libopenglrecorder);
  • Добавлена генерация высококачественных MIP-текстур;
  • Обеспечено более плавное движение камеры;
  • Представлена новая сцена вручения гран-при;
  • Улучшены средства настройки геймпадов;
  • Реализована возможность многопользовательской игры по локальной сети, но из-за необходимости дополнительной стабилизации кода и добавления поддержки игры через глобальную сеть, возможность отложена до следующего выпуска;
  • Началось формирование сборок для платформы Android.

  1. Главная ссылка к новости
  2. OpenNews: Релиз свободной гоночной игры SuperTuxKart 0.9.2
  3. OpenNews: Релиз свободной гоночной игры SuperTuxKart 0.9.1
  4. OpenNews: Релиз свободной гоночной игры SuperTuxKart 0.9
Обсуждение (40 +33) | Тип: Программы |
20.11.2017 Свободная стратегическая игра Zero-K размещена на itch.io (44 +26)
  Разработчики свободной стратегической игры Zero-K сообщили о преодолении очередного рубежа в развитии проекта - размещение релиза игры в сервисе itch.io. Код игры Zero-K написан на языке Lua и распространяется под лицензией GPLv2. Игра использует игровой движок Spring и изначально основывались на контенте от проекта Total Annihilation, который впоследствии был полностью заменён на собственные игровые ресурсы. Сборки сформированы для Linux и Windows. Возможна одиночная игра с ботами, организация многопользовательских сражений в локальной сети или через online-сервисы.

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

  1. Главная ссылка к новости
  2. OpenNews: Выход игры Freeciv 2.5
  3. OpenNews: Выпуск игрового движка Torque 3D 3.7
  4. OpenNews: Релиз движка стратегических игр Spring 101
  5. OpenNews: Эксперимент по созданию искусственного интеллекта для игры в Doom
  6. OpenNews: Доступна двадцать первая альфа-версия открытой игры 0 A.D.
Обсуждение (44 +26) | Тип: Программы |
20.11.2017 Линус Торвальдс раскритиковал ограничительные меры по усилению защиты ядра Linux (149 +73)
  Линус Торвальдс не стесняясь в выражениях отверг заявку Кеса Кука (Kees Cook), предложившего включить в состав ядра 4.15 механизм защиты, блокирующий использование вызова usercopy при проведении некоторых видов атак. Суть предложенного метода в запрете применения usercopy для прямого копирования между пространством пользователя и некоторыми областями ядра с введением белого списка допустимых для использования областей памяти. Так как подобный подход потенциально может нарушить работу приложений, использующих usercopy, предусмотрен fallback-режим для kvm и sctp (ipv6).

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

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

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

Предложения сразу ввести блокировку приложений или останавливать работу системы при выявлении опасного поведения отмечаются как в корне неверные - по мнению Линуса, перед началом блокировки достаточно долгое время ограничительные средства усиления безопасности должны работать в режиме информирования - например, около года только выводить в лог сведения о наличии проблемы, и лишь затем можно применять более радикальные меры.

  1. Главная ссылка к новости
  2. OpenNews: Проект по продвижению в ядро Linux новых технологий активной защиты
  3. OpenNews: Линус Торвальдс столкнулся с дилеммой: устранение уязвимости или сохранение совместимости
  4. OpenNews: Продолжение дискуссии с Линусом Торвальдсом о стабильности API ядра Linux
  5. OpenNews: Линус Торвальдс пытается навести порядок в оформлении комментариев в ядре Linux
  6. OpenNews: Линус Торвальдс выступил с критикой контроля качества в DRM-подсистеме ядра Linux
Обсуждение (149 +73) | Тип: Тема для размышления |
Следующая страница (раньше) >>


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