Скрытая и неустранимая угроза (размышления на тему Heartbleed)

Скрытая и неустранимая угроза (размышления на тему Heartbleed)
Ох, в интересное время живем.  С одной стороны история с санкциями США привела к тому, что поднялись активные дискуссии на тему того, что надо дескать отказываться от всего зарубежного и проприетарного и переходить на свое собственное и опенсорсное. С другой стороны история с Heartbleed дала конкретного пинка всем, кто выступал за то, что опенсорс гарантирует бОльшую безопасность и защиту от уязвимостей. 

И вот все это натолкнуло меня на размышления на тему возможности включения недекларируемых возможностей (закладок) в программный код.  В этой ситуации история с Heartbleed очень показательна, уязвимость появилась в одном из обновлений пакета OpenSSL несколько лет назад и с тех пор благополучно ждала своего часа чтобы быть открытой и наделать много шума.  Кроме того, появляется информация что агентство NSA якобы знало про эту уязвимость (чему я склонен верить) и использовало ее в своих интересах (что тоже вполне логично).

Теперь давайте посмотрим с другой стороны, со стороны разработчика коммерческого программного обеспечения (в т.ч. и средств защиты информации).  Практически никто сейчас не разрабатывает программное обеспечение с нуля в полном вакууме. В любом случае используются какие-то IDE, компиляторы, программные библиотеки, готовые компоненты, базы данных наконец.  Возьмите любую более-менее сложную программную систему (или средство защиты) и вы увидите что в сердце него обязательно есть какая-то база данных (MS SQL, MySQL, Oracle и пр.).    Помните этот вирус, который несколько лет назад наделал много шума среди разработчиков ?  Вредонос заражал компилятор и в итоге все созданные с помощью этого компилятора программы становились носителями вируса. Неплохо ?  Как знать, может быть это были полевые испытания ?

Таким образом мы имеем то, что практически в любой программный код можно встроить скрытую уязвимость (она же закладка) через сторонние компоненты, используемые при его разработке и/или функционировании.   Можно ли от этого защититься ?   Давайте рассмотрим типовые предложения:

1) Использовать только опенсорс ?  Нет, не поможет. Хотя у нас вот уже сколько всего государственного все порываются создать на базе опенсорса (и отечественную ОС и вот теперь вроде как защищенные мобильники для госслужащих  и проч.)  Да только будет ли это действительно безопасно ? История с Heartbleed очень четко показала, что нет. Современные программные компоненты содержат такое количество кода, что никто либо не в состоянии его проанализировать, либо просто не готов тратить на это время / ресурсы и деньги наконец. 

2) Сертифицировать продукт на отсутствие НДВ ?  Тоже не поможет. Потому что сертификацию эту проводят тоже люди. Смогут они найти скрытую уязвимость (или несколько уязвимостей) в программном коде ?  Да бьюсь об заклад что скорее всего нет.  А если к этому еще прибавить то, как это в принципе делается у нас, то тут вообще без шансов. 

Единственный выход (по крайней мере, как мне видится) это создание всех компонентов используемых при разработке и функционировании ПО с нуля.  Но разве могут это позволить коммерческие компании ?  Однозначно нет.  Более того большинству частных потребителей (их клиентам) это и не нужно.

Я считаю что подобными разработками могут и должны заниматься специально созданные компании (ФГУПы или что-то подобное), причем их разработки должны быть предназначены в первую очередь для военных целей (включая вопросы защиты гостайны и проч.). Такие компании за счет финансирования государства смогут себе позволить вести разработки с нуля. Более того они могли бы привлекать к этим разработкам существующие в России ВУЗы, обучающие по направлению информационной безопасности, прикладной математики, программирования. Т.е получится что-то вроде военных заводов, если проводить аналогию с разработкой оружия, только по производству программного обеспечения. При этом результат их разработки можно будет продавать и коммерческим структурам, которые посчитают для себя угрозу внедрения скрытых уязвимостей / закладок недопустимой и требующей минимизации.  Вот куда лучше потратить деньги, а не на переделку под защиту гостайны очередной модификации Android или Linux. Но это если конечно мы хотим добиться реального результата, а не просто освоить бюджет. 

Есть у нас подобные компании?   Я не слышал, возможно и есть, но в лучшем случае они разрабатывают средства защиты каналов связи. Но ведь есть еще антивирусы, средства контроля доступа, системы фильтрации трафика и проч. А надеяться, что коммерческая компания разработает программную систему или средство защиты для широкого рынка, а потом за счет сертификации полностью исключит все скрытые уязвимости, просто наивно (хотя именно так сейчас это и "работает").
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
310K
долларов
до 18 лет
Антипов жжет
Ребёнок как убыточный
актив. Считаем честно.
Почему рожают меньше те, кто умеет считать на десять лет вперёд.

Александр Бондаренко

Блог Александра Бондаренко

FREE
100%
Кибербезопасность · Обучение
УЧИСЬ!
ИЛИ
ВЗЛОМАЮТ
Лучшие ИБ-мероприятия
и вебинары — в одном месте
ПОДПИШИСЬ
T.ME/SECWEBINARS