Системные ошибки

(Февраль 2007)

saiclogo

Среди бесчисленных разделов народной энциклопедии Wikipedia имеется один особо поучительный для всех, кто работает в сфере инфотехнологий, — под выразительным названием «Катастрофы в разработке программного обеспечения»  [примечание из Ныне: в 2012 году данный раздел Википедии, увы, был удален].

Почти каждую, наверное, историю из этого раздела можно включать в учебники в качестве примеров того, как НЕ надо подходить к решению ИТ-задач.

В данной же статье будет рассмотрена лишь весьма узкая разновидность подобных катастроф — но зато в столь любопытной области, как работа государственных спецслужб. Говоря конкретнее, речь пойдет о Федеральном бюро расследований США и о крупнейшей в мире службе электронной разведки, американском Агентстве национальной безопасности.

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

«ВИРТУАЛЬНЫЕ ПАПКИ ДЕЛ»

Примерно так, как звучит заголовок, наверное, можно перевести название новой компьютерной системы ФБР — Virtual Case File или кратко VCF, — которую абсолютно безуспешно пытались создать и внедрить в Бюро на протяжении 2000-2005 годов. Истратив на проект около 170 млн долларов, к 2005 году руководство ФБР в итоге было вынуждено объявить о полном фиаско этой затеи.

Начиналось же все весьма многообещающе, когда в сентябре 2000 года Бюро объявило о запуске крупномасштабного проекта Trilogy, направленного на «трехстороннюю» модернизацию устаревшей ИТ-инфраструктуры ФБР. Первоначально предполагалось, что реализация проекта с исходной стоимостью 380 миллионов долларов займет три года (на деле, правда, и срок получился длиннее, и бюджетных денег было потрачено значительно больше).

Три главных части проекта были такими: закупка современных настольных компьютеров для всех офисов ФБР, разворачивание широкополосных защищенных сетей WAN и LAN, а также — самая важная для профессиональной деятельности сторона — модернизация комплекса программных приложений, применяемых непосредственно в следственной работе.

Первые две цели проекта Trilogy в принципе считаются успешно выполненными, хотя и с существенным перерасходом средств. Что же касается замены программной системы ФБР ACS, или Automated Case Support (Автоматизированная поддержка следственных дел), то здесь все оказалось существенно сложнее.

Система ACS в свое время разрабатывалась собственными силами внутри ФБР и задумывалась для управления всеми документами, так или иначе относящимися к делам, расследуемым сотрудниками Бюро, позволяя им искать и анализировать свидетельства и улики, фигурирующие в разных преступлениях, но, возможно, связанные друг с другом.

Хотя на словах звучит это довольно красиво, однако в действительности сами агенты ФБР относились к ACS весьма скептически.

Во-первых, уже по сути своей она состояла из множества очень разных приложений, создававшихся в разное время, под разные задачи, и при этом весьма замысловатых в использовании.

Во-вторых, ACS была построена на основе программно-аппаратных средств, весьма популярных в 1970-е годы: язык программирования Natural, система управления базами данных Adabas, буквенно-цифровые терминалы от мэйнфреймов IBM 3270…

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

К 2000 году архаичность ACS стала очевидна в ФБР для всех, включая самое высокое руководство. Поэтому к лету 2001 был подготовлен общий план новой системы Virtual Case File, а работы по ее реальному воплощению теперь было решено поручить профессионалам.

Собственно программную часть взялась делать корпорация SAIC, а сетевое обеспечение — фирма DynCorp (подразделение корпорации CSC, как и SAIC известной тесными контактами с американскими спецслужбами).

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

Но очень скоро дела пошли совсем не так, как было задумано. В сентябре 2001 года, всего за неделю до терактов 11 сентября, в ФБР пришел новый директор Роберт Мюллер. Вскоре, по мнению нового руководства, события 9-11 продемонстрировали неудовлетворительное состояние дел по обмену важной информацией между смежными подразделениями Бюро.

Поэтому в декабре 2001 года планы относительно VCF были радикально пересмотрены, а целью стала полная замена всех ранее созданных приложений и перенос всех существующих данных в среду СУБД Oracle (в свое время создававшейся фирмой Ларри Эллисона под нужды ЦРУ). Кроме того, сроки реализации проекта сократили, перенеся время сдачи на декабрь 2003.

Основой всей работы над спешным созданием VCF стал гигантский, на 800 страниц, талмуд техзадания, который разработчики SAIC составили на основе бесед с конечными пользователями системы ACS. Эти пользователи (следователи) не имели, естественно, никакого опыта ни в программировании, ни в ИТ-разработках вообще. А программисты, в свою очередь, крайне смутно представляли себе специфику следственной работы ФБР.

В довершение к этому руководство SAIC разбило программистов на 8 отдельных и нередко конкурирующих друг с другом команд, общавшихся между собой мало и неохотно. Естественным результатом чего стало то, что уже в 2002 году все намеченные сроки безнадежно «поплыли».

Один из инженеров-программистов SAIC, Мэтью Паттон (Matthew Patton), искренне обеспокоенный происходящим, осенью 2002 г. попробовал привлечь внимание к проблемам VCF на страницах дискуссионного интернет-форума разработчиков и пользователей правительственных информационных систем. Следствием этого стал скорый визит к Паттону двух агентов ФБР, разбирательство о разглашении им государственных секретов и немедленное отстранение от работы над VCF.

Через некоторое время практически все, о чем предупреждал инженер — и недостаточный технический опыт сотрудников ФБР, и ошибки менеджмента в SAIC, и общую нехватку компетентности у исполнителей, решающих задачу такого масштаба, и то, что никудышное 800-страничное ТЗ было обречено на неудачу еще до того, как были написаны первые строки кода — руководителям проекта пришлось признать официально перед лицом контролирующих органов.

Однако для Мэтью Паттона эта история в итоге закончилась увольнением из SAIC «по личным причинам».

Но это будет потом, а в конце 2002 года ФБР, уже осознав перерасход средств, стало просить (и получило) дополнительные десятки миллионов на успешное завершение проекта. К концу 2003 года у программы сменилось 5 руководителей и, несмотря на все трудности и проблемы разработки, к декабрю 2003 года SAIC представила-таки ФБР свой итоговый продукт. Который был тут же был расценен заказчиком как совершенно неадекватный и непригодный для реальной работы…

SAIC в ответ заявила, что ФБР само во всем виновато, потому что по ходу разработки регулярно меняло спецификации, которое само же ранее сформулировало. После нескольких месяцев препирательств независимая арбитражная комиссия пришла к заключению, что в непригодности ПО виноваты все, как подрядчик, так и заказчик.

В 2005 году от системы VCF отказались полностью, как от не поддающейся исправлениям, а весной 2006 года ФБР объявило о новой затее с «безбумажным делопроизводством», теперь получившей название проект Sentinel. На этот раз в качестве головного подрядчика выбрана ведущая аэрокосмическая корпорация Lockheed Martin, сроку на работу выделено 6 лет, а денег — 425 миллионов долларов.

[ВРЕЗКА]

Приоритеты и скорость

Вся информация, собираемая агентами ФБР в рамках контр-террористической деятельности, становится доступна разведывательному сообществу США лишь после того, как ее по ночам загружают в единую систему. Нынешнее программное обеспечение требует, чтобы персонал ФБР вводил, сканировал и подписывал материалы вручную, после чего она помещается в «хранилище следственных данных». Наивысший приоритет при вводе имеют данные контр-террористического характера, которые должны быть в системе в течение 24 часов. Информация, относящаяся к таким делам, как тяжкие преступления, организованная преступность, финансовые мошенничества и прочий криминал, может ожидать днями, пока станет доступна  правоохранительному сообществу. Новое ПО должно, как предполагается, делать доступной в реальном времени любую ценную разведывательную или криминальную информацию.

[КОНЕЦ ВРЕЗКИ]

nsa2

МАРШ ПИОНЕРОВ

В отличие от ФБР, где отсутствие высококвалифицированных ИТ-кадров вполне объяснимо, АНБ США традиционно имеет репутацию наиболее продвинутого правительственного ведомства во всем, что касается компьютеров, сетей и информационных технологий вообще.

Тем не менее, и здесь с разработкой ИТ-систем в последнее время случаются чрезвычайно дорогостоящие катастрофы. О которых, правда, почти ничего не пишет центральная пресса и не рассказывает «Википедия».

Тем не менее, в специализированной и особенно местной печати (главным образом, штата Мэриленд, где находится штаб-квартира АНБ), можно найти достаточно много содержательной информации на этот счет. В частности, о миллиардном проекте Trailblazer, внешняя канва истории которого очень напоминает мучения с VCF.

Информация, которую собирают и обрабатывают в АНБ, по оценкам официального правительственного историка агентства М. Эйда (Matthew Aid), в настоящее время составляет около 75% в ежедневном разведывательном сборнике, докладываемом президенту. Но сколь бы важна и содержательна ни была информация, добываемая перехватом и дешифрованием коммуникаций, в ней все равно имеются большие и порой весьма болезненные пробелы.

Например, специальная проверка данных АНБ после 11 сентября 2001 года показала, что в базы агентства за предшествовавшие 3 года попадали по крайней мере 30 косвенных признаков о подготовке сентябрьских терактов, однако никто не сумел объединить эти фрагменты информации в единую картину.

Именно эту проблему, собственно, и должна была исправить новейшая система Trailblazer (что переводится как «пионер» или «новатор»). Главную цель этой строго засекреченной поначалу программы, запущенной в 1999 году, видели в том, чтобы позволить аналитикам АНБ адекватно оценивать то гигантское количество информации, что ежедневно и ежечасно собирают посты электронного перехвата по всему миру — от интернета, сетей мобильной связи, проводных телефонных и телеграфных линий, спутниковых коммуникационных систем, телевидения и радио.

Понятно, что вся эта информация имеет не только гигантские объемы, но и представлена в чрезвычайно разнообразных форматах. А задача хоть и немалого, но все равно достаточно ограниченного числа аналитиков — выявить в этом океане «мусора» перлы и алмазы действительно важной для разведки и национальной безопасности информации.

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

Как результат, примерно 95% всей перехватываемой АНБ информации отсеивается в мусор на этапе первичного анализа и вообще не декодируется из цифровой в понятную для человека форму. Оставшиеся 5% преобразуются в текст, графику, речь или видеофайлы, направляемые для оценки аналитикам.

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

Например, аналитик, занимающийся каналами финансирования латиноамериканских наркоторговцев, не имеет постоянного доступа к анализу дипломатической переписки стран Южной Америки, не говоря уже о других регионах.

В АНБ давно осознали, что в обработке и анализе цифровых данных явно назрели перемены, поэтому к концу 1990-х в общих чертах разработали концепцию того, что надо делать. Как это виделось поначалу, система Trailblazer должна была первым делом переводить весь перехват из цифрового кодированного формата в понятные для человека тексты, речь и видео.

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

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

Представлявшаяся очень сложной системой с самого начала — уже исходный план подразумевал свыше 1000 «приоритетных направлений» — Trailblazer стала еще больше раздуваться по мере прохождения инстанций. Разведывательная структура АНБ состоит из 3 крупных отдельных подразделений, каждое из которых имеет свои собственные приоритеты, поэтому ТЗ стало обрастать все новыми задачами, а руководители проекта не имели ни влияния, ни времени, чтобы более четко обозначить главные цели и удержать проект в реалистичных рамках.

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

Кроме того, как выяснили впоследствии проверки, в SAIC никогда не говорили «нет», даже когда заказчики из АНБ ставили заведомо невыполнимые задачи. Ибо деньги под систему давались, что называется, немерянные. Для начала, в 2002 году было выделено 280 миллионов долларов.

А поскольку секретнейший разведывательный проект Trailblazer оказался в самой сердцевине «глобальной войны с терроризмом», т.е. наиболее приоритетной задачи администрации президента Буша, то практически никакого контроля за расходованием средств на эту программу не было вообще.

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

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

Например, чтобы выдавать всю перехваченную в эфире и кабелях информацию в осмысленном виде, системе Trailblazer требовался единый стандарт представления данных — чтобы они корректно обрабатывались, сортировались и хранились для быстрого поиска. Однако создать такой единый стандарт в АНБ не удалось и по сию пору.

Другой серьезной проблемой стал вопрос о сроках хранения данных. Поначалу, до 11 сентября 2001 года, в Trailblazer планировали уничтожать устаревшую информацию достаточно быстро. Однако вместе с началом войны с терроризмом выяснилось, что и старые данные могут быть очень полезны, а значит сроки хранения перехвата необходимо существенно увеличить.

Кроме того, сентябрьские теракты подтолкнули руководство АНБ к существенному ускорению программы, путем отказа от важных этапов перепроверки и коррекции имевшегося плана. А поскольку финансирование Конгрессом в неофициальных беседах было обещано «по сути, без ограничений», то какие либо тормоза в смысле планово-финансовой дисциплины перестали работать вообще.

Общим итогом того, что строгий внешний и критический внутренний надзор над исполнением проекта фактически отсутствовали, а главные приоритеты в плане все время менялись, стоимость системы Trailblazer стала возрастать с гигантской скоростью.

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

Но и при такой постановке дел весной 2005 года директор АНБ генерал Хейден был вынужден признать, что стоимость Trailblazer существенно перевалила за 500 миллионов, все сроки уже сорваны, а успешное завершение работ пока не просматривается.

Генерал не вдавался в подробности, да и конгрессмены все равно ничего толком бы не поняли, однако главный итог доклада был очевиден — сделать работоспособную систему «оказалось гораздо сложнее, чем кто-либо предполагал»…

В первые месяцы 2006 года стало известно, что суммарная стоимость проекта Trailblazer (включая затраты на весьма дорогостоящие крупномасштабные проверки) достигла ошеломительных размеров в 1,2 миллиарда долларов.

Главным же итогом всех экспертиз стало решение о прекращении финансирования проекта, за 5 лет реализации породившего лишь немногим больше, чем огромный ворох схем и диаграмм…

[ВРЕЗКА]

В какое кресло ни садись…

Все неполные 40 лет своего существования корпорация SAIC отличается тем, что в составе ее руководства всегда есть люди, непосредственно до и/или сразу после этого занимающие высокие посты в министерстве обороны, ФБР и разведслужбах США. В корпорации вполне резонно считают, что такой подход очень помогает бизнесу в целом и получению выгодных контрактов в частности. Однако, как показал проект Trailblazer, это вовсе не гарантирует успех для собственно работы. Заместитель директора АНБ Уильям Б. Блэк (William B. Black Jr) пересел в руководящее кресло SAIC в 1997 году после 40 лет службы в разведке. Однако уже в 2000 генерал Хейден сумел вновь вернуть Блэка в АНБ, чтобы он на посту замдиректора курировал Trailblazer и тесные контакты с SAIC. Более компетентного человека, казалось бы, найти было невозможно, но — все равно не помогло.

[КОНЕЦ ВРЕЗКИ]

ВОПРОСЫ ВМЕСТО МОРАЛИ

Нынешний директор АНБ Кит Александер (Keith Alexander) старается сохранить и развить хотя бы те немногие части-подсистемы Trailblazer, что уже сданы и способны работать. А затем, постепенно наращивая их небольшими дополнениями, сделать нечто типа системы Trailblazer 2.0 — не столь амбициозной, но реально полезной.

Однако, чтобы стали более понятны наступившие у АНБ сложности с финансированием, необходимо упомянуть еще о двух весьма дорогостоящих ИТ-программах, воплощавшихся агентством параллельно с Trailblazer и также расцениваемых ныне как «проваленные».

Одна из них носит кодовое название Groundbreaker и была задумана в 1999 г. как крупномасштабный проект по обновлению всей компьютерно-сетевой инфраструктуры, обеспечивающей работу АНБ. Первоначальная стоимость проекта была оценена в 2 миллиарда долларов, к концу же было признано перерасходование средств «по крайней мере вдвое».

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

Еще одна, куда более секретная программа носит название «Управление криптологической миссией». Она представляет собой особую автоматизированную систему стоимостью около 300 миллионов долларов, создававшуюся для сопровождения всех проектов АНБ в области шифров и криптоанализа.

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

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

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

Однако в России народ вообще ничего не ведает ни о секретных крупномасштабных ИТ-проектах спецслужб, ни о стоимости их финансирования, ни о неудачах в реализации.

Что это может означать? Что у наших спецслужб таких неудач не бывает? Или же — как у всех — бывают, конечно, но таковы уж особенности российской «суверенной демократии»?

The End