понедельник, 21 апреля 2014 г.

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

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

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

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

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

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

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

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

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

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

четверг, 10 апреля 2014 г.

Занимательная статистика анализа зарубежной литературы

Чисто случайно наткнулся на интересный сервис от компании Google под названием Google Books Ngram Viewer. Смысл сервиса заключается в том, что он позволяет получить статистику упоминания любых слов (терминов, имен, названий и проч.) в литературе, которую уже успела оцифровать корпорация добра. Литература представлена чуть ли не с 1500 годов н.э. и при этом на разных языках (понятно что бОльшую часть занимает английская литература).  Вот я и решил попробовать посмотреть на развитие определенных трендов в ИБ на базе анализа литературы. Ведь чем популярнее становится тема в профессиональном сообществе, тем активнее она начинает проявляться в виде каких-то книжек.

В качестве вводных данных я использовал период с 1980 года до 2008 года (дальше поиск не работает, либо материалы еще в оцифровке, либо такое ограничение в сервисе) и литературу рассматривал исключительно английскую (т.к. чего греха таить, все актуальные темы приходят к нам из англо-говорящих стран). 

Вот статистика по термину "27001"
Как можно увидеть наибольший всплеск интереса к теме ISO 27001 пришелся на период 2005-2006 гг.

А вот статистика по термину "Information security management" показывает уверенный рост:
Ступенчато, но все же по восходящей идет статистика и по термину "information security risk management"
Термин "data leakage", кстати тоже показывает устойчивый рост, хотя и не такой резкий, как представленные выше
Тоже самое можно сказать про термин "Compliance" Такая вот занимательная статистика.