Белый дом рекомендует использовать языки программирования, безопасные для памяти, и обеспечивать безопасность за счет дизайна
5 марта 2024 г.В новом отчете Белого дома основное внимание уделяется защите компьютеров от кибератак — в данном случае уменьшению поверхности атаки с помощью языков программирования, безопасных для памяти, таких как Python, Java и C#, и содействию созданию стандартизированных показателей безопасности программного обеспечения.
Отчет призывает технических специалистов:
- Реализуйте языки программирования, безопасные для памяти.
Разрабатывайте и поддерживайте новые метрики для измерения безопасности оборудования.
Этот отчет под названием «Назад к строительным блокам: путь к безопасному и измеримому программному обеспечению» призван донести до ИТ-специалистов и руководителей бизнеса некоторые приоритеты правительства США, когда речь идет о защите оборудования и программного обеспечения на этапе проектирования. Отчет представляет собой призыв к действию, содержащий советы и общие рекомендации.
«Даже если бы все известные уязвимости были устранены, распространенность необнаруженных уязвимостей в экосистеме программного обеспечения все равно представляла бы дополнительный риск», — говорится в отчете. «Проактивный подход, направленный на устранение целых классов уязвимостей, уменьшает потенциальную поверхность атаки и приводит к более надежному коду, меньшему времени простоя и более предсказуемым системам».
Уязвимости безопасности памяти вызывают беспокойство в языках программирования
В докладе отмечается, что уязвимости безопасности памяти существуют уже более 35 лет, но ни одного решения не найдено. Авторы отчета заявляют, что не существует «серебряной пули» для решения каждой проблемы кибербезопасности, хотя использование языков программирования со встроенной защитой памяти может уменьшить большое количество возможных типов кибератак.
ONCD отмечает, что C и C++ — очень популярные языки программирования, используемые в критических системах, но они небезопасны для памяти. Rust — это язык программирования, безопасный для памяти, но он не был проверен в тех аэрокосмических системах, которые правительство особенно хочет защитить.
По данным ONCD, создатели программного и аппаратного обеспечения являются наиболее важными заинтересованными сторонами, которые берут на себя ответственность за создание аппаратного обеспечения, безопасного для памяти. Эти заинтересованные стороны могли бы работать над созданием новых продуктов на языках программирования, безопасных для памяти, или переписывать критически важные функции или библиотеки.
Какие языки программирования безопасны для памяти?
Согласно отчету АНБ за апрель 2023 года, Python, Java, C#, Go, Delphi/Object Pascal, Swift, Ruby, Rust и Ada — это некоторые языки программирования, безопасные для памяти.
Новые метрики для измерения безопасности программного обеспечения
В отчете говорится, что «крайне важно разработать эмпирические показатели, которые измеряют качество кибербезопасности программного обеспечения». Это более сложная задача, чем переход на языки программирования, безопасные для памяти; в конце концов, проблемы и преимущества создания всеобъемлющих показателей или инструментов для измерения и оценки безопасности программного обеспечения обсуждаются на протяжении десятилетий.
Разработка показателей для измерения безопасности программного обеспечения затруднена по трем основным причинам:
- Разработка программного обеспечения может быть как искусством, так и наукой, и большинство программ не являются единообразными.
Поведение программного обеспечения может быть очень непредсказуемым.
Разработка программного обеспечения развивается очень быстро.
Чтобы преодолеть эти проблемы, ONCD отмечает, что любые показатели, разработанные для оценки безопасности программного обеспечения, необходимо будет отслеживать и постоянно изменять, а программное обеспечение необходимо будет измерять на динамической, а не статической основе.
Реакция отрасли на приоритеты отчета
Вице-президент Gartner, аналитик Пол Фуртадо сообщил TechRepublic по электронной почте, что «в конечном итоге все, что мы можем сделать, чтобы минимизировать вероятность инцидента безопасности, выгодно рынку». Он отметил, что компаниям, возможно, предстоит пройти долгий путь, чтобы уменьшить поверхность атаки, используя методы, подобные тем, которые предложены в отчете ONCD.
«Даже в приложениях, разработанных внутри компании, используются базовые библиотеки кода. Все эти среды и приложения имеют определенный уровень технологического долга», — сказал Фуртадо. «Пока технологический долг не будет решен по всей цепочке, основной риск останется, хотя вы и начнете сокращать поверхность атаки. Отчет предлагает путь вперед для сосредоточения внимания на новых разработках, но реальность такова, что нам предстоит еще много лет до решения всей остаточной технологической задолженности, которая все еще может сделать организации уязвимыми для эксплуатации».
SEE: Подготовьтесь к кибербезопасности будущего на главных технологических мероприятиях 2024 года. (TechRepublic)
Некоторые крупные технологические организации уже присоединились к рекомендациям отчета.
«Мы считаем, что внедрение языков, безопасных для памяти, дает возможность улучшить безопасность программного обеспечения и дополнительно защитить критически важную инфраструктуру от угроз кибербезопасности», — сказал Юрген Мюллер, технический директор SAP, в заявлении для ONCD.
«Я благодарю Управление национального кибер-директора за важный первый шаг за пределами политики высокого уровня, превратив эти идеи в призывы к действию, понятные техническим и бизнес-сообществам», — сказал Джефф Мосс, президент DEFCON и Black Hat. Об этом говорится в заявлении ONCD. «Я поддерживаю рекомендацию внедрить безопасные для памяти языки программирования во всей экосистеме, потому что это может устранить целые категории уязвимостей, которые мы заклеивали в течение последних тридцати лет».
Выводы для высшего руководства по приоритетным направлениям кибербезопасности
В отчете отмечается, что безопасность находится не только в руках директора по информационной безопасности компании, использующей уязвимое программное обеспечение; вместо этого директора по информационным технологиям, которые будут руководить закупками программного обеспечения, и директора по технологиям в компаниях, производящих программное обеспечение, в частности, должны разделить ответственность за усилия по кибербезопасности друг с другом и с директором по информационной безопасности.
Эти лидеры должны поощрять кибербезопасность в трех основных областях, говорится в отчете:
- Разработка программного обеспечения — больше всего интересует технических и ИТ-директоров.
Анализ программных продуктов — больше всего интересует технических и ИТ-директоров.
Устойчивая среда выполнения — больше всего интересует директоров по информационной безопасности.
Оригинал