В последнее время много говорится об угрозах национальной безопасности. Заражение компьютерных сетей дипломатических представительств, атаки хакеров, подозрительно напоминающие действия спецслужб, — все это реалии нашего мира. Развитие криминальных технологий проникновения перевело стрелки с вопроса «взломают ли меня?» на «когда меня взломают, и как минимизировать ущерб?»
В течение последних лет правительство неоднократно декларировало задачи по защите локального сегмента сети Интернет. Наибольшую известность получили попытки добиться внедрения регулирования на уровне стран и создания системы защиты от сетевых атак. Да, эти попытки не достигли результата. Да, они во многом справедливо критиковались. Но будем честными — наступление часа Х, когда против страны в целом может быть развернута та или иная акция, вполне вероятно. Несмотря на мир между всеми крупными государствами, ни одно из них не собирается полностью отказываться от вооруженных сил.
Вооруженные силы сейчас немыслимы без современных средств связи и управления. Средства связи объединяют чиновников, разработчиков средств вооружения и т. д. Стране есть что защищать и есть от кого защищаться. Попробуем оставить в стороне политический вопрос «зачем» и поговорим о том, как в принципе можно защититься в современном цифровом мире.
Начнем с того, что на самом деле руководство нашего государства осознает необходимость перемен. В стране есть деньги, постоянно объявляется о создании новых проектов и развитии ранее объявлявшихся, только в Москве действует порядка десяти бизнес-инкубаторов (не считая Сколково). Почему же не видно результатов?
Ошибка в системе
Допустим, одна девушка может стать мамой за 9 месяцев, но девять девушек за один месяц мамами не станут. Как правило, все громогласно объявленные проекты развиваются по схожему сценарию: объявление проекта — тендер — выкатка победителем тендера некого сайта или сервиса — возмущенное удивление общественности по типу «где они такого криворукого студента нашли» и «сколько же они попилили». Наверху же отнюдь не дураки сидят, чтобы постоянно наступать на одни и те же грабли! Почему же все повторяется раз за разом?
Если разобраться, то получится, что в низком качестве сервисов и сайтов победители тендеров не виноваты. Если кто-то хочет получить новую операционную систему, то под заказ нужно составить спецификацию, описывающую весь функционал до мельчайших подробностей, все варианты действий пользователей, вид всех возможных окошек, протоколы взаимодействия всех компонентов и т. д. и т. п. Попробуйте представить объем необходимой работы и время на подготовку одной только документации. Ведь это многие тома и даже, возможно, шкафы талмудов! Кто-то видел примеры такого количества документов в качестве приложений к тендерам? Соответственно, победитель в ответ на слово «хочу» выкатывает минимум возможного. Зачем реализовывать лишнее, если его никто об этом не просил? А денег за работу, естественно, просят по-максимуму. Бизнес есть бизнес! Времена, когда работали за идею, остались в прошлом.
Правда, нужно сказать, что есть модель разработки, учитывающая вариант отсутствия техзадания. В этом случае пишется минимальное ядро системы, показывается заказчику, заказчик думает, что еще ему хочется добавить, замечания согласовываются, выпускается следующая итерация и так продолжается, пока у заказчика не остается пожеланий или не кончается бюджет. Но тут к ранее озвученной добавляются еще две проблемы.
А судьи кто?
Лучше всего иллюстрирует проблему одна история. В ноябре 2008 года было закрыто 184 военных представительства на предприятиях ОПК. В марте 2009 директивой Генерального штаба № 314/9/1000 вдвое сокращено число офицерских должностей там, где военпреды уцелели. В военных представительствах 1-й и 2-й категорий директива оставляла лишь по два офицера, в военных представительствах 3-й категории — по одному с одновременным уменьшением численности гражданского персонала военной приёмки. Также в 2009 году штатные категории военпредов сокращены до категорий «старший лейтенант» и «капитан». В апреле 2011 года вышла директива Генштаба № 314/9/1547. Она предписывала еще сильнее «поджать» штаты — в два и более раз!
Это в Министерстве обороны. В гражданских организациях есть еще одна проблема — зарплата. Все заказчики, как правило, располагаются в Москве, а предлагаемая зарплата порядка 10 тыс. рублей работающих в Москве не прельщает.
В итоге просто некому ни составлять ТЗ, ни принимать выполненные работы с достаточным уровнем качества. А если качество не спрашивают, то зачем его обеспечивать?
Сроки
Как правило, после того, как озвучивается очередная инициатива, заказчик хочет мгновенно получить желаемое. Но если мы хотим получить, скажем, операционную систему, то ее нужно разработать. Как бы мы ни относились, например, к Windows, но на ее создание ушли годы. Поэтому, если заказчик хочет получить что-то уже вчера, то ему можно предложить только уже готовое. Естественно, не подогнанное под его реальные потребности и нужды. Скажем, нужна операционная система. Не вопрос — предлагаются клоны имеющихся ОС Linux. Заказчик их даже внедряет. И напарывается еще на две проблемы.
Совместимость
Полученная типовая реализация может не учитывать типовые потребности. Скажем, имеющийся в Linux OpenOffice вполне подходит для работы, но если вам нужно обмениваться документами с теми, у кого установлен, скажем, Microsoft Office, могут возникнуть проблемы. Документы, созданные в одном «офисе», могут не открыться или неправильно отобразиться в ином. Типичный пример — доработка 1С под требования покупателей.
Поддержка
Тут, в свою очередь, тоже две проблемы. Типовое решение может поставляться не его разработчиком. Скажем, в ОС Linux — тысячи программ, и далеко не все из них разработаны поставщиком. Да, исходный код доступен. И разобраться в чужом коде тоже можно. Но как же это бывает сложно, и сколько на это нужно времени!
Предположим, заказчик-таки удовлетворен, внедрил систему и использует ее. Проходят годы. Систему нужно обновить (причин может быть много — найдена уязвимость, проведена доработка в связанных компонентах и т. д.). А поставщика уже нет. Или исходные коды потеряны. Или ушел ведущий разработчик, создававший систему. Желающие могут погуглить на тему ошибки тысячелетия и зарплат специалистов по Коболу на тот период. То есть мало систему разработать — ее нужно поддерживать все время ее работы у заказчика.
Именно поэтому в Советском Союзе и разработкой ТЗ, и поддержкой занимались специальные институты.
Подведем итоги вышесказанного. Если государство хочет получить комплекс ПО, предназначенного для обеспечения независимости и безопасности, то сиюминутным желанием тут не обойтись. Нужно воссоздавать институт заказчика, поднимать зарплаты, учиться действовать в соответствии с процедурами и выстраивать долговременные взаимоотношения. Нужна стратегия развития и дорожный план на годы вперед. С четкими задачами и ответственными лицами за каждый этап. А сделать можно все. Вопрос в цене.
Продолжение следует.