Российский исследователь взломал репозиторий и багтрекер Ruby on Rails

Российский исследователь взломал репозиторий и багтрекер Ruby on Rails

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

Среда Ruby on Rails предназначена для построения веб-приложений на языке Ruby. Ее основная задача состоит в упрощении и оптимизации процесса разработки программных продуктов. Одним из наиболее популярных сетевых проектов, при создании и сопровождении которого применялась эта среда, является GitHub - крупная платформа для хранения исходных кодов и совместной работы над ними. На этой площадке размещается в том числе и официальный репозиторий Ruby on Rails вкупе с системой отслеживания ошибок и изъянов в ПО.

В четверг отечественный исследователь заявил об уязвимости в этой программной среде, отметив, что ее успешная эксплуатация может окончиться введением посторонних сведений в базу данных приложений Ruby on Rails через внешние веб-формы - почти как в случае с SQL-инъекциями. Проблема произрастает из функции под названием "массовое назначение", особенности которой можно злонамеренно использовать - если не приняты надлежащие меры безопасности. Вообще говоря, теоретическая возможность злоупотребления этим функционалом была описана еще несколько лет назад, однако команда Ruby on Rails сочла, что ответственность за управление "массовым назначением" должна лежать на самих разработчиках программных продуктов.

"Массовое назначение" - это функция управления программными атрибутами. Программисты Ruby on Rails предпочли использовать подход белого списка: по умолчанию разрешено изменять все атрибуты, а создатели веб-приложений должны самостоятельно составлять черный список тех параметров, которые потенциально опасны и запрещены к модифицированию. Альтернативный подход диаметрально противоположен (и более безопасен): запретить изменение всех атрибутов и возложить на разработчиков задачу их выборочной активации по мере необходимости и целесообразности.

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

Администрация GitHub оперативно устранила уязвимость и начала общий аудит с целью обнаружить новые потенциальные изъяны. Учетная запись исследователя была приостановлена, но затем возобновлена - когда технические специалисты проекта убедились, что в его действиях не было злого умысла. По-видимому, теперь разработчики Ruby on Rails не будут столь категоричны в своих суждениях и с большей охотой займутся поиском решений проблемы "массового назначения".

PC World

Письмо автору

В Windows 11 нашли способ включить нативный NVMe — SSD ускорились до 15%

Microsoft сделала важный шаг в сторону ускорения Windows — компания объявила, что Windows Server 2025 получит нативную поддержку NVMe-накопителей. Есть хорошая новость для обычных пользователей: поскольку архитектура Windows 11 во многом унаследована от Windows 10, энтузиасты уже нашли способ включить нативную NVMe-поддержку вручную — через правку реестра.

И, судя по первым отзывам, эффект вполне ощутимый. Пользователи, которые решились на эксперимент, сообщают о:

  • снижении задержек;
  • росте скорости чтения и записи;
  • приросте производительности примерно на 10–15%;
  • снижении нагрузки на процессор.

 

 

Кроме того, система становится устойчивее в сценариях с активной работой с диском — когда несколько приложений одновременно нагружают хранилище, Windows реже «замирает» целиком.

 

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

Исторически Windows работает со всеми накопителями через SCSI. Даже NVMe-диски в системе фактически «притворяются» SCSI-устройствами — команды NVMe просто переводятся в понятный Windows формат. Под это поведение за годы подстроились драйверы, утилиты и софт.

При переходе на нативный NVMe этот слой исчезает — и тут начинаются нюансы:

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

По данным Microsoft, нативная NVMe-поддержка в Windows рассчитана на 64 000 очередей, каждая из которых может обрабатывать 64 000 команд одновременно. В теории — это более 4 миллиардов операций в очереди.

Для сравнения: SCSI-протоколы ограничены 32 командами на очередь. Разница — колоссальная, особенно с учётом современных NVMe-дисков и систем с DDR5.

Если вы любите выжимать максимум из железа — попробовать можно уже сейчас, инструкции доступны. Но есть важное «но»:
перед экспериментами обязательно сделайте резервную копию системы или протестируйте всё в виртуальной среде. Правка реестра на таком уровне вполне может привести к нестабильной работе Windows.

В долгосрочной перспективе нативный NVMe, скорее всего, станет стандартом, когда разработчики начнут учитывать его в своих продуктах. А пока это история для энтузиастов, которые готовы немного рискнуть ради скорости.

RSS: Новости на портале Anti-Malware.ru