В Болгарии господрядчики обязаны публиковать исходные коды поставляемого ПО.

Как и некоторые другие восточноевропейские страны, Болгария многие годы страдает от того, что государственные заказы на разработку программного обеспечения «распиливаются» между приближёнными фирмами, которые принадлежат родственникам и друзьям чиновников. Гостендеры становились формальностью. Процветало взяточничество, кумовство и откаты.

Не причастные к разделу кормушки чиновники и общественность всячески пытались бороться с этим. В прессе публиковали истории о тендерах на 300 000 евро на разработку статического сайта и так далее. Ничего не помогало, истории с «распилами» повторялись снова и снова.

И всё-таки активистам движения open-source удалось добиться своего. Несмотря на сильное противодействие отдельных чиновников, они добились принятия поправок в законодательство, согласно которым отныне подрядчики госзаказов обязаны публиковать в открытом доступе исходные коды всех программ, разработанных за бюджетные средства.

Согласно тексту Закона об электронном управлении, при подготовке технических и функциональных заданий на проведение государственных тендеров на разработку компьютерных программ, административные органы обязаны теперь включать в техническое задание следующие требования:

- Компьютерные программы должны соответствовать принципам open-source.

- Все авторские и смежные права на соответствующие компьютерные программы, их исходный код, дизайн интерфейсов и баз данных, которые являются предметом государственного заказа, должны предъявляться заказчику в полном объёме, без ограничений на использование, изменение или распространение.

- Разработка должна вестись в репозитории, который поддерживается Агентством, в соответствии с пунктом 18 статьи 7в (публичное национальное хранилище и система контроля версий — скорее всего, его зеркало будет размещено на Github).

Требования закона не относятся к покупке лицензий, то есть госструктуры по-прежнему имеют право закупать, например, проприетарный софт от Microsoft и Oracle вместо LibreOffice и аналогичных свободных программ. Тем не менее, это шаг в правильном направлении.

Открытие исходников государственных разработок — вполне логичное и правильное требование. Если общество оплачивает работу, то имеет полное право на её результаты, то есть на исходные коды в общественном достоянии.

Поправки в закон удалось провести несмотря на предупреждения отдельных «специалистов». Например, исполнительный директор компании Information Services JSC (эта фирма получала львиную часть госзаказов на разработку информационных систем), профессор Михаил Константинов заявлял по телевидению, что ни в коем случае нельзя публиковать исходные коды. Например, открытие кода программы для подсчёта голосов на выборах «позволит кому угодно взломать систему».

Но сторонники open-source сумели аргументированно доказать свою позицию, что метод «безопасность через неясность» — не лучший способ обеспечения безопасности. За последние годы в государственных сайтах и информационных системах было найдено множество уязвимостей, а найденные баги оставались незакрытыми долгое время, просто потому что срок действия контракта с подрядчиком истёк. Статические сайты за 300 000 евро падали под малейшей нагрузкой.

Публикация исходных кодов всех проектов должна снизить число таких инцидентов и уменьшить количество злоупотреблений.

Болгарский активист Божидар Божанов, который принимал участие в продвижении поправок в законодательство, предупреждает, что принятие поправок не означает их соблюдение. Крупные подрядчики наверняка попытаются обойти их и найти лазейки, чтобы не выкладывать исходный код. Поэтому требуется пристальный общественный контроль.

Божидар Божанов выразил надежду, что другие страны тоже последуют примеру Болгарии в этом «радикальном» подходе по борьбе с коррупцией и откатами в области госзаказов на ИТ.
Источник: https://geektimes.ru/post/278090/

Комментарии

Изображение пользователя Crazy Rebel.

Если это у них будет работать

Если это у них будет работать то болгары молодцы. У нас тоже очень много "хороших" законов которые никто не исполнял, не исполняет и исполнять не собираетсяы.

Изображение пользователя admin.

Меня вот, как человека,

Меня вот, как человека, "немного" увлекающегося ИТ-безопасностью, интересует следующий момент.
Наверное все согласятся, что в любом (может быть за малым малым исключением) ПО существуют баги, в том числе и security. Ну к примеру перенесем данную ситуацию в РФ: написали портал госуслуг, выкинули его в продакшн и открыли исходники.
Моментально найдутся уязвимости. Кто то о них сообщит, а кто то воспользуется (там все таки данных очень много интересных). И как вот в этой ситуации дальше?

Изображение пользователя Crazy Rebel.

admin wrote:И как вот в этой

admin wrote:
И как вот в этой ситуации дальше?

Дело в том что если исходники закрыты то уязвимости никуда не денутся и обнаружить и тем более исправить их станет куда сложнее, а для "злоумышленников" работа будет практически одинакова. Как вот в этой ситуации сейчас?

Кстати ещё насчёт безопасности. Публикация исходных кодов софта автоматически отвязывает софт от производителя. Сегодня если ктото получил заказ на создание софта для госучреждений, то он же его и будет поддерживать и сменить его никакой возможности нет без полного переписывания кода, так же как и в случае если производитель просто откажется продолжать поддержку софта.

Изображение пользователя Nomad.

admin wrote:Меня вот, как

admin wrote:
Меня вот, как человека, "немного" увлекающегося ИТ-безопасностью, интересует следующий момент.
Наверное все согласятся, что в любом (может быть за малым малым исключением) ПО существуют баги, в том числе и security. Ну к примеру перенесем данную ситуацию в РФ: написали портал госуслуг, выкинули его в продакшн и открыли исходники.
Моментально найдутся уязвимости. Кто то о них сообщит, а кто то воспользуется (там все таки данных очень много интересных). И как вот в этой ситуации дальше?

А что, чтобы посмотреть скомпелированный код нет никаких инструментов?

Nomad wrote: А что, чтобы

Nomad wrote:

А что, чтобы посмотреть скомпелированный код нет никаких инструментов?

Эта операция необратима. Как минимум, комментарии теряются безвозвратно. Нет никакой возможности восстановить скрипты сборки. Нет однозначного соответствия машинных кодов инструкциям языка высокого уровня.

Изображение пользователя manofring.

Сборочные скрипты ваабще не

Сборочные скрипты ваабще не часть дистрибутива, но если эти опенСорсные болгары насядут, волей неволей придется выкладывать и еще доказывать что дистрибутив бинарно обратно совместим. Контрольная сумма же.

Изображение пользователя manofring.

Вы чо! Мы ж никакие то там

Вы чо! Мы ж никакие то там болгары, пнут и гавняной метлой еще по рылу, ВВП подсунут очередной "документ Яровой" о гостайне и тд...Такше и немичтайте, а так если засекут дыру...маски шоу и 2 батальона десантуры или криптоПаяльный спициалист из ФСБ разузнают все...Гугл со своими премиями отдыхает... режим КТО

Изображение пользователя Nomad.

ArtSh wrote:Nomad wrote: А

ArtSh wrote:
Nomad wrote:

А что, чтобы посмотреть скомпелированный код нет никаких инструментов?

Эта операция необратима. Как минимум, комментарии теряются безвозвратно. Нет никакой возможности восстановить скрипты сборки. Нет однозначного соответствия машинных кодов инструкциям языка высокого уровня.


Это всё мне известно. Только не может быть, чтобы не было возможности декомпелировать скомпелироавнный код, пусть даже не полностью в автоматическом режиме? Комментарии не всяк программер пишет, так что их можно игнорировать. Если знать на каком языке написана программа, учитывая особенности этого языка, и т.д. и т.п. Антивирусные компании как-то ведь справляются с этой задачей. Только не переубеждайте меня, что они всё делают по лицензии.
Выходит, что между открытой и закрытой программой в чтении кодов нет разницы, только из-за того, что открытый код доступен всем, СПО более защищён.
Где я ошибаюсь?

Изображение пользователя manofring.

Nomad wrote:ArtSh wrote:Nomad

Nomad wrote:
ArtSh wrote:
Nomad wrote:

А что, чтобы посмотреть скомпелированный код нет никаких инструментов?

Эта операция необратима. Как минимум, комментарии теряются безвозвратно. Нет никакой возможности восстановить скрипты сборки. Нет однозначного соответствия машинных кодов инструкциям языка высокого уровня.


Это всё мне известно. Только не может быть, чтобы не было возможности декомпелировать скомпелироавнный код, пусть даже не полностью в автоматическом режиме? Комментарии не всяк программер пишет, так что их можно игнорировать. Если знать на каком языке написана программа, учитывая особенности этого языка, и т.д. и т.п. Антивирусные компании как-то ведь справляются с этой задачей. Только не переубеждайте меня, что они всё делают по лицензии.
Выходит, что между открытой и закрытой программой в чтении кодов нет разницы, только из-за того, что открытый код доступен всем, СПО более защищён.
Где я ошибаюсь?

Тут вообщем то говорится о людях которые знают ассемблер и например есть софт которые работает с бинарником походу разбирает бинарный код по патернам, сейчас все пишется во всяких ДЕ, соотвественно набравшись патернами мелких примитивов типа цикло, условий и ид идет попытка представить бинарный код сначала как асм а потом на основе патернов как процедурный код, а вот разбор в объектно-ориентированное предстваление...есть скажем языки изначально объектно-ориентированые есть типа С++ которые поддерживают и процедурный подход ( old C style ) так и ООП .... и тут уже разбор другой, а вот антивирусные компании и их спецы в основом "вытаскивают" процедурный псевдокод, я сильно сомневаюсь что всякие ботнет-деятели, вирусописатели пишут свои творения в стиле ООП, жирно много медленно...так что у антивирусных контор задача минимальная...найти паттерн и занести как сигнатуру, у них нет желания писать всякие Анлокеры, декрипторы потому что задачи их софта Превентивные - найти, опознать и удалить/в карантин, антивир-спецы сидят круглые сутки, кстати и спят и едят и все остальное на работе по крайне мере по видео в котором хвастается своим персоналом и конторой Касперыч. По сути сидят в режиме реального времени собирают паттерны и засовывают как сигнатуры зловредов...
Кстати да, коментарии это специфичный инфо который засовывают для пиара/ввода в заблуждение/компрометации других хакерских групп/по недосмотру/добавить свое.... вообще с поиска коментов начинается поиск паттерна зловреда, сами полумайте тектовые строки проще занести и профильтровать. Но я чето отвлекся, желающие могут порыца и найти в инете хвастающегося Каперыча и тд.

Nomad wrote: Это всё мне

Nomad wrote:

Это всё мне известно. Только не может быть, чтобы не было возможности декомпелировать скомпелироавнный код, пусть даже не полностью в автоматическом режиме?

Получится чуть более понятный ассемблер. Зачем это нужно?

Nomad wrote:

Комментарии не всяк программер пишет, так что их можно игнорировать.

Также, как и документацию ;)

Nomad wrote:

Антивирусные компании как-то ведь справляются с этой задачей. Только не переубеждайте меня, что они всё делают по лицензии.

Нет. Просто им достаточно ассемблера.Получившийся от дизассемблера код они никогда обратно не компилируют. Им это не нужно.

Nomad wrote:

Выходит, что между открытой и закрытой программой в чтении кодов нет разницы, только из-за того, что открытый код доступен всем, СПО более защищён.
Где я ошибаюсь?

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

Изображение пользователя Nomad.

Разговор пошёл немножко не в

Разговор пошёл немножко не в ту степь. С спо все ясно. Код открыт и в этом его сила и слабость. Каждый программер может обнаружить уязвимость, а как он поступит с этим знанием дело только его совести. Можно ли прочитать проприетарный код написанный на языке высокого уровня? Тем более, что компании, которые пишут такой код, обычно не скрывают на каком языке написано п.о. Другое дело что чем сложнее программа, тем больше вставок кода написанного на других языках.

Практика показывает, что

Практика показывает, что сложность нахождения уязвимостей не зависит от того открыт исходный код, или нет.

Изображение пользователя Crazy Rebel.

Nomad wrote:Можно ли

Nomad wrote:
Можно ли прочитать проприетарный код написанный на языке высокого уровня?

Извините я в отъезде был и вот с запозданием реагирую. Вы абсолютно неправильно понимаете проблему. Даже если у Вас есть исходные коды с подробнейшими комментариями разобраться в них (в программе ессно) непростая задача. Это первое, второе если Вы возьмёте одну и туже программу то разные компиляторы и даже один и тот же компилятор с разными опциями компиляции и сборки дадут Вам разный бинарный код. Есть единственная программа которая по бинарному коду выдаёт исходник, и называется она дизассемблер, то есть из бинарного кода переводит в язык ассемблера, ни на какие другие языки высокого уровня перевести не получится если только при компиляции специально не просили вставлять информацию для отладки в бинарник, но это означает что бинарник фактически содержит исходники в явном виде. Так что все что Вы написали про анализ бинарников это фантастика, причём ненаучная.

Что касается вирусов - вирусы не трогают саму программу, они или дописываются в конец бинарного файла и переставляют точку запуска на себя, либо втавляют свой код куда либо в бинарный код. В любом случае для поиска вируса не надо иметь ни его исходников ни исходников заражённой программы, нужно иметь только копию файла до заражения и после него, после чего анализируется что изменилось и как.

style="display:inline-block;width:728px;height:15px"
data-ad-client="ca-pub-4493870272388852"
data-ad-slot="6622567932">