Информация о ядерных материалах может теряться в базе данных

Как заявил представитель Национального комитета ядерной безопасности США (подразделение Министерства энергетики), ПО, используемое для контроля ядерных ресурсов в России, имеет дефект, который может привести к потере информации о ядерных материалах. Эта программная ошибка впервые привлекла внимание общественности в середине июля, когда Брюс Блейр, президент Центра оборонной информации, написал статью для Washington Post, где подробно изложил историю ошибки, ее обнаружения российскими учеными и реакцию США. Блейр также опубликовал на своем Web-сайте обширную информацию об исследованиях российских специалистов и переписку с ними.

В 1995 году российские ученые-ядерщики из Курчатовского института получили ПО, разработанное и использованное в Национальной лаборатории в Лос-Аламосе (США) для контроля за ядерными материалами. Как отметил представитель Национального комитета ядерной безопасности Рик Форд, основу этого ПО составляет MS SQL Server 6.5.

По словам Стива Мурчи из Microsoft, программа была написана с помощью специального командного языка, встроенного в SQL Server.

Спустя некоторое время использование программы выявило дефект в SQL Server 6.5; причиной этого послужило расширение возможностей командного языка. Ошибка проявляется, когда программа обрабатывает большие объемы данных, в результате чего некоторые файлы становятся невидимыми и недоступными, хотя по-прежнему присутствуют в базе данных, что и подтвердили Форд и Блейр. В ответ на заявление российских специалистов и утверждения Блейра о том, что эти файлы утрачиваются навсегда, Мурчи сообщил, что проблема устранена и файлы восстановлены. Официальные представители Курчатовского института пока эти заявления никак не прокомментировали.

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

Сотрудники Курчатовского института проинформировали своих американских коллег об инциденте в начале 2000 года, а те в свою очередь обратились в Microsoft. В Microsoft предложили решение и способ устранения дефекта, но оба эти предложения были отклонены Министерством энергетики США. Вместо этого министерство предпочло модернизировать имевшуюся в его распоряжении версию СУБД до SQL Server 7.0. Кроме того, как сообщил Мурчи, тесты Microsoft показали, что ошибка, имеющаяся в версии 6.5, в версии 7.0 отсутствует.

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

Хотя Курчатовскому институту было передано то же программное обеспечение, которое применялось и в Лос-Аламосе, в Соединенных Штатах программа начиная с 1996 года совершенствовалась иным образом. Теперь, как подчеркнул Форд, это две совершенно разные системы. А раз так, ни один из дефектов, найденных в российской версии, не может присутствовать в американском варианте.

По словам Форда, российская система исправлена и ошибка больше не возникала. В своей статье, однако, Блейр пишет, что, «хотя нельзя с уверенностью сказать, что дефект устранен, специалисты Курчатовского института распространили решение, позволяющее частично решить проблему». Блейр отметил, что российские специалисты модернизировали свою систему до SQL Server 7.0, и Microsoft выпустила соответствующую заплатку, но он считает вполне возможным, что «эта заплатка лишь замаскирует реальную проблему и не сможет полностью устранить ошибку».

Представители Microsoft не согласны с Блейром и российскими учеными.

Судя по результатам тестирования Microsoft, и SQL Server 7.0, и SQL Server 2000 избавлены от ошибки. По словам Мурчи, дефект, проявлявшийся в SQL Server 6.5, был результатом использования командного языка, а не ошибки в самой СУБД, и этот дефект уже устранен. Фактически код, из-за которого возникала ошибка, теперь должен работать корректно, по крайней мере, с тех пор в Microsoft не поступало сообщений о проявлении дефекта.

«Если проблема и существует, то нам об этом не сообщали», — сказал Мурчи.

С перепиской Брюса Блейера и представителей Курчатовского института можно познакомиться на Web-сайте Центра оборонной информации по адресу http://www.cdi.org/nuclear/nukesoftware.html.