Russian Fedora

cообщество русскоязычных участников
международного проекта Fedora

Уроки программирования от Red Hat (FORTIFY_SOURCE)

Это архивная статья

Специалисты по безопасности Red Hat продолжают заметки об основных приемах разработки безопасного ПО. На этот раз было рассказано о макросе FORTIFY_SOURCE, который входит в состав дефолтных ключей gcc в Fedora уже достаточно долгое время. Этот макрос включает дополнительную runtime-проверку на соответствие размера входного буфера выходному в следующих функциях - memcpy, mempcpy, memmove, memset, strcpy, stpcpy, strncpy, strcat, strncat, sprintf, vsprintf, snprintf, vsnprintf, gets. Благодаря ему находится, кстати, довольно много проблем.

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

Комментарии