Софт-безопасность
АрхивКолумнистыДва примера из текущих новостей в очередной раз привлекли внимание к проблемам безопасности программного обеспечения. Причем оба связаны с продукцией компании Boeing.
Два примера из текущих новостей в очередной раз привлекли внимание к проблемам безопасности программного обеспечения. Причем оба связаны с продукцией компании Boeing. Первый касается авиакатастрофы в амстердамском аэропорту Схипхол, где пассажирский Boeing 737800 компании Turkish Airlines упал, не дотянув до посадочной полосы.
Расследование установило, что на высоте около шестисот метров в одном из двух бортовых альтиметров произошел сбой и вместо реальной высоты прибор выдал отрицательный показатель...
Бортовой компьютер, разумеется, счел, что самолет уже на земле, и заглушил двигатели. Машина мгновенно стала терять скорость и высоту, а экипаж, даже заметив неладное, так и не сумел ничего сделать. Почему программа неправильно обработала дублирующиеся данные, могут ответить лишь в Boeing, поскольку исходными кодами корпорация делиться не привыкла.
По схожему поводу в парламенте Великобритании в очередной раз разгорелся скандал вокруг истории с военно-транспортными вертолетами Chinook. Закупленные еще в 2001 году, они по сию пору не получены армией, поскольку действующие правила гласят: код программ, управляющих бортовой электроникой, должен быть обязательно проверен в целях безопасности. Но именно условие о предоставлении исходных кодов военные в контракт включить забыли. А корпорация Boeing, поставляющая вертолеты, в ответ на все просьбы об исходниках ответила отказом, ссылаясь на американские законы. Так что теперь в Британии решили урезать эксплуатационные возможности вертолетов, откатив ПО к более старой версии. Общая стоимость контракта тем временем возросла с четверти до почти полумиллиарда фунтов стерлингов...
После двух этих новостей еще актуальнее выглядит новая теоретическая работа, посвященная безопасности программного обеспечения. Ибо одна из главных проблем заключается в том, что до сих пор нет общепринятых стандартов на разработку по-настоящему безопасного ПО. Больше того, способы создания безопасных программ вообще очень редко обсуждаются публично.
Ныне в этой области произошло важное событие: эксперты из компании Fortify и консалтинговой фирмы Cigital решили повлиять на сложившуюся ситуацию. Они совместно подготовили и опубликовали комплекс "наилучших приемов и подходов, гарантирующих безопасность разрабатываемого ПО". Эти рекомендации получили название "Building Security In Maturity Model" (BSIMM).
Авторы подчеркивают, что их работа появилась в результате систематического изучения практик безопасности, применяемых в таких компаниях, как Google, Microsoft, Adobe, а также крупных фирмах вроде Wells Fargo и Depository Trust & Clearing Corporation, где тоже регулярно создают собственное программное обеспечение.
Как свидетельствует Брайан Чесс (Brian Chess), глава исследовательского подразделения Fortify, все последнее десятилетие обеспечение безопасности ПО происходило в условиях секретности. Даже базовая информация о безопасности обычно хранится фирмами в тайне из страха, что этими сведениями смогут воспользоваться злоумышленники. Отсутствие прозрачности в какой-то мере способствует защите, однако делает невозможной помощь другим фирмам в улучшении их разработок.
Когда Чесс и его соавтор Гэри Макгроу (Gary McGraw) получили "допуск к тайне" и стали изучать подходы ведущих компаний к проблемам безопасности, они обнаружили несколько весьма похожих друг на друга практик, которые и стали основой модели BSIMM. Например, говорит Макгроу, никогда не было общепринятого стандарта для оптимального числа сотрудников в подразделениях, обеспечивающих безопасность ПО. В новой модели рекомендуется формировать такую команду из расчета один эксперт по безопасности на каждые сто программистов-разработчиков.
Модель BSIMM классифицирует безопасность по дюжине категорий, включая обучение, проверку кода и тестирование готовой программы. Каждая категория содержит перечень мероприятий, помогающих сделать разрабатываемое ПО более безопасным, - таких, например, как семинары по разбору реальных проколов, обнаруженных в программах компании.
Авторы подчеркивают, что BSIMM вовсе не претендует на полное и всеобъемлющее руководство или что их модель подойдет для любой компании. Скорее эта работа является систематизированным комплексом идей и мероприятий, которые уже сегодня используются опытными профессионалами.
Исследование опубликовано в Интернете на условиях свободной лицензии CC BY-SA и доступно по адресу bsi-mm.com.
Из еженедельника "Компьютерра" № 12 (776)