if from.IsInverted then
from.IndexValue := Self.Count - from.IndexValue;
Это плохо. Тут .Count - метод последовательностей. Он перечисляет все элементы перед тем как вернуть длину. В то время как для массивов и строк - .Length возвращает готовое число хранимое в памяти.
Когда можно ожидать цифровые подписи / сертификаты для файлов PABC (exe/msi) ?
Системы безопасности и антивирусы панику наводят при скачивании и установке PABC
А точнее какие? И может это настройки такие - гавкать на каждый .exe без подписи? Нормальные антивирусы 1 раз проверяют / спрашивают и дальше относятся с пониманием.
Речь ведь о том, что это потенциальная дыра для системы. Мало ли что по пути к EXE прицепилось.
Конечно можно проигнорировать всё. Но это неправильный путь.
Я не углублялся в цену вопроса. Но проект претендует на уровень национального. Поэтому, целесообразно было бы изыскать возможность добавления цифровой подписи / сертификатов.
Интересно, что может прицепиться, если Вы скачиваете с официального сайта напрямую через опцию обновления? А если с сетки раздаете, то это уж Ваша проблема обеспечить там безопасность раздачи. Например, скрутить файл с достойным паролем тем же WinRar, там пишется контрольная сумма.
Попробовал сделать обновление через меню. Перекинуло на HTTP, в трафик которого нынче только ленивый не лезет. Почти все провайдеры встраивают туда свою рекламу инжекцией своего JS. Взломанные роутеры, на которых битая прошивка стоит (а многие производители забивают на обновления, не говоря уже о пользователях), запросто могут подменить и суммы на HTML странице, и даже EXE подсунуть нужный. В современных условиях это дыра в безопасности. Нельзя так оставлять.
Нельзя требовать от автора сделанного на энтузиазме проекта, который купил доменное имя и за хостинг платит из собственного кармана, чтобы он за собственные средства покупал еще и ЭЦП.
Тогда проекту придется оставаться в песочнице, к которому серьезно относиться не будут. И будущего у проекта не будет, увы. И придумать статьи финансирования проекта такая же инженерная задача, как и разработка кода. Нужно искать варианты. Будет ли ФИПИ интегрировать PascalABCNet в свою систему КЕГЭ? Пытались ли они это сделать? А будут ли пытаться? Если в КЕГЭ PascalABCNet не будет, тогда любой школьник будет рассуждать о бессмысленности вложения своих сил в “мертвый язык”.
PS: сам ничего не подписывал, поэтому деталей процесса не знаю, увы. И на данный момент даже спросить не у кого.
Вы хотите сказать, что пиратски скачанный из неизвестных мест Турбопаскаль с DosBox защищены от вирусов? Или Free Pascal?
Касательно КЕГЭ пока вообще ничего не известно. Они могут отдать на откуп регионам, а могут тупо сделать фиксированный пакет, обязательный к инсталляции. В последнем случае если будет виден шанс попасть в этот пакет, можно думать об инсталляции поддержке и проч.
Загуглите “ЭЦП. Удостоверяющий центр”
Поскольку Вы, как писали, давно уже в IT-области, возможно застали эпоху P2P сетей, когда еще не было речи о протоколе WWW.и народ сидел в FIDO. Конфиденциальность там обеспечивалась программкой PGP (Pretty Good Privacy), которая реализовывала систему шифрования с открытым ключом. ЭЦП в целом - то же самое. Вы получаете секретный ключ, и при подписании любого своего файла он внедряется в тело файла (тупо приписывается в хвост) и содержит особым образом вычисленную контрольную сумму с учетом себя. Получив файл от Вас, корреспондент берет парный Вашему открытый ключ - вы его рассылаете всем корреспондентам, либо для автопроверки держите внутри инсталлятора. Открытый ключ считывает ЭЦП и удостоверяется, что файл от Вас. После чего получает контрольную сумму удостоверяется, что она верна. Уровень достоверности выше в разы, чем у личной подписи или мокрой печати.
А что мешает скачанный файл перед запуском проверить антивирусником?
Windows Defender лает, но не кусает.
До сих пор о человеческих жертвах ничего не известно.
И вообще: волков бояться - в лес не ходить.
Некоторые антивирусники вообще отправляют выполняемые файлы паскаля в карантин.
Потом присылают сообщение, что всё нормально.
Это проблема защиты, которая установлена на компьютере, а не паскаля.
Собака лает - ветер - носит.
В любом случае выполняемые файлы нужно проверять - это дёшево, но сердито.
Абсолютной безопасности нет и не будет. Поэтому не нужно нагружать паскаль всякой ерундой, которая приходит в голову. Я думаю, многие компьютерные защитники намеренно находят ошибки, чтобы прорекламированть свою бдительность. Я бы им не доверял.
Алгоритм подписи ЭЦП мне известен. И да, застал этот период. Я не знаю текущей процедуры и цен, чтобы операционная система распознавала программу как подписанную. Т.е. нужно у кого-то купить открытый ключ, затем с помощью VS или другой программы загрузить этот ключ в EXE. Затем регулярно подтверждать ключи и платить регистратору. Это интуитивно понятно. Вопрос в деталях и ценах.
Есть центр у MS. С них и надо начинать. Есть несколько уровней. Драйвера ядра наиболее жестко сертифицируются. Остальное должно быть дешевле и проще.
А что мешает скачанный файл перед запуском проверить антивирусником?
Всё один в один как с коронавирусом )
Антивирусы не знают новую дрянь. А по “специальным запросам” могут и игнорировать, даже если знают.
А цифровая подпись, это как маска для прохожих, чтобы не заражали друг друга. Иначе, популярная программа становится интересным носителем для всякой дряни. Стал популярным - повышай защиту. Пошел в толпу - одел маску. Если можешь представлять опасность для других, то это не только их проблема.