Нова софтуерна инициатива: C++ получава надграждане на сигурността чрез безопасни разширения
C++ общността отговаря на опасенията за сигурността с „безопасни C++ разширения“. Новите технологии са предназначени да адресират проблеми със сигурността на паметта и да поддържат съществуващите кодове. Научете повече!
Нова софтуерна инициатива: C++ получава надграждане на сигурността чрез безопасни разширения
Винаги има нови разработки в света на програмирането, особено що се отнася до сигурността на софтуера. C++ общността в момента е изправена пред предизвикателството все повече и повече експерти да възхваляват предимствата на други езици за програмиране, които предлагат по-голяма сигурност на паметта. За да се противодейства на тази критика, беше стартиран проектът „Safe C++ Extensions“.
Това ново усилие има за цел да се справи със съществуващите уязвимости на C++, особено в областта на сигурността на паметта. Вини Фалко, президент на C++ Alliance, нарече предложението революционно. В доклад на Register той подчерта важността на добавянето на модерни функции за сигурност на паметта към C++, особено във време, когато защитеният код е необходим повече от всякога. През последните години има чести заявки за разработване на нови софтуерни решения на езици за програмиране като Rust, Go и Java, които са известни със своята сигурност.
Критиката на C++ и желанието за промяна
Още през 2019 г. експерти като Алекс Гейнър посочиха сериозните пропуски в сигурността в големите кодови бази, които са причинени основно от грешки в сигурността на паметта. Тези проблеми все повече се обсъждат на технически конференции. Миналата година имаше дори гласове от технологичната индустрия, като Марк Русинович от Microsoft, който предложи напълно да се откажат от C и C++ в полза на Rust.
Въпреки че Bjarne Stroustrup, създателят на C++, увери, че неговият език за програмиране в сегашната му форма може да бъде фундаментално безопасен за паметта, тези твърдения не резонират с всички. Критиците смятат, че C++ първоначално не е проектиран да бъде безопасен за паметта, което прави много по-трудно създаването на безопасен за паметта код в практически приложения.
Проектът „Безопасни C++ разширения“ сега се справя точно с това предизвикателство. Целта му е да отговори на препоръките на агенции като NSA и Агенцията за киберсигурност на САЩ, които призовават за по-високи нива на сигурност в софтуерните системи. Въпреки многото скептици, които се съмняват, че C++ някога може да бъде толкова сигурен, колкото езици като Rust или Swift, разработчиците Sean Baxter и Christian Mazakas показват увереност в своя план. Те твърдят, че пълното преминаване към Rust често не е осъществимо на практика, тъй като има значителни разлики между езиците за програмиране.
Иновации в езиците за програмиране
Baxter подчертава, че проектът Safe C++ въвежда нови технологии за гарантиране на сигурността на паметта. Едно от централните нововъведения е „проверка на заем“, която служи за избягване на грешки като „използване след освобождаване“. Ще има и анализи на инициализацията, които са предназначени да повишат безопасността на типа. Ключово предимство на това усилие е, че съществуващият C++ код може да продължи да работи, докато разработчиците могат постепенно да включват по-сигурни функции, без да се налага да се преквалифицират на напълно нов език за програмиране.
Като цяло, създаването на „безопасни C++ разширения“ показва, че C++ общността е готова да се развива и да отговори на належащите проблеми със сигурността. Това проправя път за комбиниране на предимствата на C++ с изискванията за по-висока сигурност и за правене на езика за програмиране по-интересен и сигурен. Подробности за иновативните подходи можете да намерите в доклад от winfuture.de.