Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline vladiovv  
#1 Оставлено : 4 мая 2023 г. 10:10:59(UTC)
vladiovv

Статус: Новичок

Группы: Участники
Зарегистрирован: 15.02.2023(UTC)
Сообщений: 2

Во время сборки проекта с участием libcades.so возникают предупреждения:

Код:
/usr/bin/ld: /opt/cprocsp/lib/amd64/libcades.so: .dynsym local symbol at index 75 (>= sh_info of 13)
/usr/bin/ld: /opt/cprocsp/lib/amd64/libcades.so: .dynsym local symbol at index 446 (>= sh_info of 13)


Окружение:

Код:
$ lsb_release -a ; ld --version
...
Description:	Ubuntu 22.04.2 LTS
Release:	22.04
Codename:	jammy
GNU ld (GNU Binutils for Ubuntu) 2.38
....


Версия libcades.so: (судя по названию пакета cprocsp-pki-cades-64_2.0.14589-1_amd64.deb): 2.0.14589-1


Я провёл небольшой ресёрч и выяснил, что формат ELF не предполагает использование LOCAL символов в GLOBAL сегменте:

Цитата:
In each symbol table, all symbols with STB_LOCAL binding precede the weak and global symbols. As ‘‘Sections’’ above describes, a symbol table section’s sh_info section header member holds the symbol table index for the first non-local symbol.


Ну или вот тут ещё:

Цитата:
In each symbol table, all symbols with STB_LOCAL binding precede the weak and global
symbols. A symbol's type provides a general classification for the associated entity.


В libcades.so как раз по индексам 75 и 446 находятся LOCAL символы, хотя секция с ними закончилась на символе с индексом 12:

Код:
$ readelf --dyn-syms -W /opt/cprocsp/lib/amd64/libcades.so
Symbol table '.dynsym' contains 545 entries:
	 Num:    Value          Size Type    Bind   Vis      Ndx Name
	 0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
	 1: 0000000000042db8     0 SECTION LOCAL  DEFAULT    8 .init
	 2: 0000000000044b00     0 SECTION LOCAL  DEFAULT   10 .text
...
	12: 00000000004c9d40     0 SECTION LOCAL  DEFAULT   23 .bss    # последний элемент LOCAL-секции
	13: 0000000000000000    85 FUNC    GLOBAL DEFAULT  UND __cxa_atexit@GLIBC_2.2.5 (2)
...
	75: 00000000004837c8     0 OBJECT  LOCAL  DEFAULT  ABS _DYNAMIC    # остальные символы тут GLOBAL и WEAK
...
	446: 0000000000485398     0 OBJECT  LOCAL  DEFAULT  ABS _GLOBAL_OFFSET_TABLE_  # остальные символы тут GLOBAL и WEAK
...



Есть предложения как можно поправить данную ситуацию?
Offline nickm  
#2 Оставлено : 4 мая 2023 г. 10:30:51(UTC)
nickm

Статус: Активный участник

Группы: Участники
Зарегистрирован: 31.05.2016(UTC)
Сообщений: 2,616

Сказал(а) «Спасибо»: 610 раз
Поблагодарили: 452 раз в 428 постах
Автор: vladiovv Перейти к цитате
(судя по названию пакета cprocsp-pki-cades-64_2.0.14589-1_amd64.deb): 2.0.14589-1

Как вариант проверить на крайней версии плагина:
Код:
cprocsp-pki-cades-64_2.0.14660-1_amd64.deb


Offline vladiovv  
#3 Оставлено : 4 мая 2023 г. 11:06:48(UTC)
vladiovv

Статус: Новичок

Группы: Участники
Зарегистрирован: 15.02.2023(UTC)
Сообщений: 2

Автор: nickm Перейти к цитате
Автор: vladiovv Перейти к цитате
(судя по названию пакета cprocsp-pki-cades-64_2.0.14589-1_amd64.deb): 2.0.14589-1

Как вариант проверить на крайней версии плагина:
Код:
cprocsp-pki-cades-64_2.0.14660-1_amd64.deb




Спасибо за идею (это я что-то забыл с самого начала проверить). Попробовал. Но в плане сборки и корректности ELF ничего не изменилось к сожалению.

Сборка:
Код:
/usr/bin/ld: /opt/cprocsp/lib/amd64/libcades.so: .dynsym local symbol at index 75 (>= sh_info of 13)
/usr/bin/ld: /opt/cprocsp/lib/amd64/libcades.so: .dynsym local symbol at index 446 (>= sh_info of 13)


таблица dynsym:

Код:
$ readelf --dyn-syms -W /opt/cprocsp/lib/amd64/libcades.so
Symbol table '.dynsym' contains 545 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 0000000000042f18     0 SECTION LOCAL  DEFAULT    8 .init
     2: 0000000000044c60     0 SECTION LOCAL  DEFAULT   10 .text
     3: 00000000002b9388     0 SECTION LOCAL  DEFAULT   11 .fini
     4: 00000000002b93a0     0 SECTION LOCAL  DEFAULT   12 .rodata
     5: 00000000002cc538     0 SECTION LOCAL  DEFAULT   13 .eh_frame_hdr
     6: 00000000002e7d00     0 SECTION LOCAL  DEFAULT   14 .eh_frame
     7: 000000000035c834     0 SECTION LOCAL  DEFAULT   15 .gcc_except_table
     8: 0000000000485000     0 SECTION LOCAL  DEFAULT   16 .ctors
     9: 00000000004850b8     0 SECTION LOCAL  DEFAULT   17 .dtors
    10: 00000000004850c8     0 SECTION LOCAL  DEFAULT   18 .jcr
    11: 0000000000487b60     0 SECTION LOCAL  DEFAULT   22 .data
    12: 00000000004cb6c0     0 SECTION LOCAL  DEFAULT   23 .bss
    13: 0000000000000000    85 FUNC    GLOBAL DEFAULT  UND __cxa_atexit@GLIBC_2.2.5 (2)
...
    75: 00000000004850d0     0 OBJECT  LOCAL  DEFAULT  ABS _DYNAMIC
...
   446: 0000000000486ca8     0 OBJECT  LOCAL  DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
...

Online Русев Андрей  
#4 Оставлено : 12 мая 2023 г. 17:03:21(UTC)
Русев Андрей

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,499

Сказал(а) «Спасибо»: 42 раз
Поблагодарили: 607 раз в 420 постах
Здравствуйте.
Предположительно предупреждение обусловлено тем, что для широкой совместимости с разными Linux-ами мы собираем cades в довольно старом окружении. А в нём нет этих ограничений на ELF-ы. К лету мы планируем обновить окружение, подняв минимальные требования к ОС, на которую можно будет поставить cades, тогда проблема уйдёт.
Официальная техподдержка. Официальная база знаний.
Online Русев Андрей  
#5 Оставлено : 2 августа 2023 г. 12:25:36(UTC)
Русев Андрей

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,499

Сказал(а) «Спасибо»: 42 раз
Поблагодарили: 607 раз в 420 постах
В cades/plugin 2.0.14892 из состава КриптоПро CSP 5.0 R3 (сборка 5.0.12900 Selene) проблема устранена (минимально поддерживаемая версия Linux теперь должна быть на базе glibc 2.12+).
Официальная техподдержка. Официальная база знаний.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.