Дата премьеры системы: | 2002/10/01 |
Дата последнего релиза: | 2022/04/01 |
Технологии: | Средства разработки приложений |
Содержание |
The Spring Framework (или коротко Spring) — open source фреймворк для Java-платформы и .NET Framework (форк под названием Spring.NET).
MVC
Spring имеет собственную MVC-платформу веб-приложений. Spring MVC предоставляет разработчику следующие возможности (на март 2022 года):
- Ясное и прозрачное разделение между слоями в MVC и запросах.
- Стратегия интерфейсов — каждый интерфейс делает только свою часть работы.
- Интерфейс всегда может быть заменен альтернативной реализацией.
- Интерфейсы тесно связаны с Servlet API.
- Высокий уровень абстракции для веб-приложений.
- В веб-приложениях можно использовать различные части Spring, а не только Spring MVC.
2022: Обнаружение уязвимости нулевого дня
Центр мониторинга и реагирования UserGate сообщил 31 марта 2022 года, о уязвимости нулевого дня в библиотеке Spring, работающей на JDK, которая может нанести урон огромному количеству приложений. На конец марта 2022 года CVE ID еще не присвоен. Рабочее название уязвимости - SpringShell.
Уязвимость существует в ядре Spring на JDK версии 9.0 и выше.
В JDK версии 9.0 и выше атакующий может получить доступ к AccessLogValve и передать вредоносные значения поля через параметр связующей функции фреймворка, что приводит к исполнению произвольного кода на целевой системе.Метавселенная ВДНХ
На конец марта 2022 года известно, что для эксплуатации уязвимости необходимо два условия: использование Spring MVC framework и JDK версии 9.0 и выше.
Компания UserGate советует:
- обновить компонент Spring Cloud Function до версий 3.1.7 и 3.2.3 соответственно;
- проверить актуальность подписки на модуль Security Updates. При использовании профиля сигнатур UserGate, все новые сигнатуры начинают работать автоматически.
По информации «Ростелеком-Солар» на 8 апреля 2022 года, критической уязвимости CVE-2022-22965 по CVSS была присвоена оценка опасности 9.8/10 баллов. Она была исправлена в версиях Spring Framework 5.3.18 и 5.2.20.
Уязвимость была выявлена в модуле Spring Core и позволяла привязывать данные в http-запросе к полям объектов приложения. Баг содержался в реализации метода getCachedIntrospectionResults, который может быть использован для несанкционированного доступа к этим объектам при передаче данных имен классов этих объектов через указанный HTTP-запрос.
Уязвимость присутствует в приложениях Spring MVC и Spring WebFlux, работающих под Java Development Kit (версии 9+), эксплуатация которых может привести к компрометации огромного количества серверов. Наиболее высокой угрозе подвержены корпоративные Java-приложения на базе Spring Framework с правами root, так как уязвимость в них позволяет скомпрометировать всю систему.
2010
Текущая версия Spring (на сентябрь 2010 года) - 3.0.3.
Несмотря на то, что Spring Framework не обеспечивал какую-либо конкретную модель программирования, он стал широко распространённым в Java-сообществе главным образом как альтернатива и замена модели Enterprise JavaBeans. Spring Framework предоставляет бо́льшую свободу Java-разработчикам в проектировании, кроме того, он предоставляет хорошо документированные и лёгкие в использовании средства решения проблем, возникающих при создании приложений промышленного масштаба.
Между тем, особенности ядра Spring Framework применимы в любом Java-приложении, и существует множество расширений и усовершенствований для построения веб-приложений на Java Enterprise платформе. По этим причинам Spring приобрёл большую популярность и признаётся разработчиками как стратегически важный фреймворк.
2004-2005: Стабильные релизы
Первый стабильный релиз 1.0 был выпущен в марте 2004. Последующие стабильные релизы вышли в сентябре 2004 года и марте 2005 года.
2003: Выпуск под лицензией Apache 2.0
Фреймворк был впервые выпущен под лицензией Apache 2.0 license в июне 2003 года.
2002: Первая версия
Первая версия была написана Родом Джонсоном, который впервые опубликовал её вместе с изданием своей книги «Expert One-on-One Java EE Design and Development» (Wrox Press, октябрь 2002 года).
Заказчик | Интегратор | Год | Проект |
---|---|---|---|
- Райффайзенбанк (Raiffeisen Bank) | Синимекс (Cinimex) | 2019.06 | |
- Сбербанк | Техно Диасофт, Axenix (ранее Аксенчер Россия) Аксеникс, Инфосистемы Джет | 2018.12 | |
- Теплосеть Санкт-Петербурга | Философия.ИТ | 2017.06 |
Подрядчики-лидеры по количеству проектов
Солар (ранее Ростелеком-Солар) (46)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (15)
Форсайт (11)
Axiom JDK (БеллСофт) ранее Bellsoft (10)
Бипиум (Bpium) (10)
Другие (387)
Солар (ранее Ростелеком-Солар) (8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (4)
Консом групп, Konsom Group (КонсОМ СКС) (2)
ЛАНИТ - Би Пи Эм (Lanit BPM) (2)
IFellow (АйФэлл) (2)
Другие (30)
Солар (ранее Ростелеком-Солар) (10)
Форсайт (3)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (3)
КРИТ (KRIT) (2)
Cloud.ru (Облачные технологии) ранее SberCloud (2)
Другие (13)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Солар (ранее Ростелеком-Солар) (2, 48)
Microsoft (41, 47)
Oracle (49, 26)
Hyperledger (Open Ledger Project) (1, 23)
IBM (33, 18)
Другие (589, 302)
Солар (ранее Ростелеком-Солар) (1, 8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (1, 4)
Microsoft (4, 3)
Oracle (2, 3)
SAP SE (2, 2)
Другие (16, 19)
Солар (ранее Ростелеком-Солар) (1, 11)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (1, 3)
Форсайт (1, 3)
Cloud.ru (Облачные технологии) ранее SberCloud (1, 2)
Сбербанк (1, 2)
Другие (9, 9)
Солар (ранее Ростелеком-Солар) (1, 6)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 6)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 4)
Мобильные ТелеСистемы (МТС) (1, 4)
РЖД-Технологии (1, 3)
Другие (14, 24)
Мобильные ТелеСистемы (МТС) (2, 3)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 3)
Солар (ранее Ростелеком-Солар) (1, 3)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 2)
Effective Technologies (Эффектив Технолоджис) (1, 1)
Другие (11, 11)
Распределение систем по количеству проектов, не включая партнерские решения
Solar appScreener (ранее Solar inCode) - 48
Hyperledger Fabric - 23
Windows Azure - 20
FIS Platform - 15
Форсайт. Мобильная платформа (ранее HyperHive) - 12
Другие 322
Solar appScreener (ранее Solar inCode) - 8
FIS Platform - 4
Siemens Xcelerator - 2
Парадокс: MES Builder - 2
Турбо X - 2
Другие 22
Solar appScreener (ранее Solar inCode) - 11
BSS Digital2Go - 3
Форсайт. Мобильная платформа (ранее HyperHive) - 3
Cloud ML Space - 2
Nexign Microservices Framework - 1
Другие 8