Если вы хотите узнать больше о Майкле Ховарде, перейдите по следующим ссылкам:
• книги Майкла Ховарда: https://www.amazon.com/Michael-Howard/e/B001H6GDPW/;
• блог Майкла Ховарда: https://michaelhowardsecure.blog/author/mikehow/;
• Майкл Ховард в Twitter: https://twitter.com/michael_howard.
Когда я позвонил Гари Макгроу по поводу интервью, он сказал, что минуту назад беседовал с католическим монахом, который проходил мимо его дома на реке Шенандоа в Вирджинии. Спустя несколько секунд он переключился на обсуждение нюансов информационной безопасности. Такого рода парадоксы сопровождают Макгроу всю жизнь. Он начал программировать на своем первом компьютере, Apple II+, в 1981 году, в возрасте 16 лет. В колледже он изучал философию и параллельно получал классическое музыкальное образование. Он даже дважды выступал в Карнеги-холле. Сегодня, будучи одним из лучших в мире экспертов по ИБ, Макгроу с удовольствием готовит, ухаживает за садом и придумывает новые коктейли.
Я спросил Гари о том, как он заинтересовался темой информационной безопасности во время изучения философии в Университете Вирджинии. Он сказал, что интерес к философии сознания привел его на курс под названием «Компьютеры, сознание и мозг», который преподавал Пол Хамфрис. Гари считал идеи профессора Хамфриса ошибочными, но они заставили его глубже задуматься о философии сознания и проблеме искусственного интеллекта. В итоге в ходе занятий он начал применять идеи светила индустрии и обладателя Пулитцеровской премии доктора Дугласа Хофштадтера, что кардинально изменило его карьерный путь. Свой первый курс по информатике Макгроу прошел, уже будучи аспирантом, хотя увлекся программированием еще подростком. Под руководством Дугласа Хофштадтера в Университете Индианы он получил двойную докторскую степень в области когнитивных наук и информатики. Он даже написал десятую главу первой книги, проданной на Amazon. Это была книга Хофштадтера Fluid Concepts and Creative Analogies: Computer Models of the Fundamental Mechanisms of Thought (https://www.amazon.com/Fluid-Concepts-Creative-Analogies-Fundamental/dp/0465024750).
После колледжа Гари присоединился к компании из семи человек, которые в итоге основали Cigital (www.cigital.com). Организация получила крупный грант от Управления перспективных исследовательских проектов Министерства обороны США (DARPA) на проведение исследования в области информационной безопасности, и Макгроу был нанят для работы над этим проектом. В итоге компания выросла до 500 сотрудников и в 2016 году ее приобрела компания Synopsys. В настоящее время в отделе обеспечения безопасности ПО работает около 1000 человек.
Мое первое значимое воспоминание о Макгроу связано с его работой по поиску уязвимостей в языке программирования Java, проделанной им совместно с Эдом Фелтеном, в соавторстве с которым он впоследствии написал книгу. То, что они обнаружили, слегка шокировало сообщество, учитывая то, что компания Sun Microsystems стремилась сделать Java максимально безопасным языком программирования, понимая, что он будет использоваться для разработки веб-приложений, часто подвергающихся хакерским атакам. Релиз Java состоялся в 1995 году, и компания Sun с самого начала делала акцент на безопасности языка, ведь его разработкой занимались такие специалисты, как Гай Стил и Билл Джой. Большинство экспертов по ИБ сомневалось в его безопасности, считая заявление компании Sun очередным громким обещанием. И они оказались правы. Написанные на Java приложения содержали беспрецедентное количество багов. Макгроу был одним из лучших экспертов в деле обнаружения уязвимостей Java, и они с Фелтеном положили начало анализу этого языка на предмет наличия ошибок безопасности. Макгроу познакомился со своим будущим соавтором на конференции, и результатом этой встречи стала их первая книга (https://www.amazon.com/GaryMcGraw/e/B000APFZ2S/). Многие книги Макгроу попадали в список бестселлеров сайта Amazon (одна из них, Exploiting Software, даже оказалась на 16-й строчке), что довольно впечатляюще для книг по компьютерной тематике, а тем более для книг, посвященных информационной безопасности.
Макгроу продолжал размышлять о безопасности ПО и о том, где можно научиться создавать более защищенные приложения. Он спрашивал себя, как остальные программисты могут разрабатывать безопасные программы, если это не удается даже таким специалистам, как Билл Джой и Гай Стил. Он пытался выяснить, что пошло не так в процессе их работы. Гари осознал, что программное обеспечение следует с самого начала разрабатывать с учетом требований безопасности. Примерно тогда он и придумал концепцию Trinity of Trouble («Троица проблем»), с помощью которой попытался объяснить, почему обеспечение безопасности ПО остается столь интересной и сложной задачей. В соответствии с этой концепцией сетевое, сложное и расширяемое приложение всегда будет представлять интерес с точки зрения безопасности, но обеспечить ее будет очень сложно. У Java, к сожалению, были сильно выражены все три аспекта, однако главная проблема, вероятно, заключалась в его сложности. После написания в соавторстве с Джоном Виегой книги Building Secure Software в 1999 году Макгроу посетил многие компании, включая Microsoft, где Майкл Ховард, речь о котором шла в предыдущей главе, работал вместе с Джейсоном Гармсом в новом подразделении Secure Windows Initiative. Он помнит, что на его выступлении присутствовали все менеджеры продуктов Microsoft и что компания явно была готова к внедрению практик, направленных на обеспечение безопасности ее ПО.
Потратив еще несколько лет на практику в сфере обеспечения безопасности ПО (предполагавшую разработку как сервисов, так и технологий), Макгроу стал одним из создателей модели BSIMM (Building Security In Maturity Model). В настоящее время этот инструмент применяет более ста крупных компаний для измерения, отслеживания и понимания своего прогресса в области обеспечения безопасности программного обеспечения.
На вопрос о том, чем именно модель BSIMM отличается от концепции SDL Майкла Ховарда, учитывая акцент обеих на повышении безопасности ПО, Макгроу сказал следующее: «SDL – это методология, а BSIMM – инструмент, позволяющий измерять и сравнивать различные SDL-подобные подходы. Концепция SDL, формализованная и опубликованная компанией Microsoft, – это отличная методология, но далеко не единственная. Достижение Майкла Ховарда, которому я очень симпатизирую, в том, что он разработал формальный подход для огромной организации, где работают десятки тысяч программистов. Он показал, что обеспечением безопасности ПО можно заниматься в чрезвычайно больших масштабах, что очень важно».
Как и остальных людей, у которых я брал интервью для этой книги, я спросил Макгроу о том, что, по его мнению, является самой большой проблемой в сфере ИБ. Его ответ был созвучен мнению Майкла Ховарда, с которым я беседовал ранее. Вот что он сказал: «Несмотря на существование огромного количества информации, касающейся разработки более безопасных систем, относительно малое число программистов обладает достаточной компетентностью в этом вопросе. И хотя некоторые колледжи и коммерческие обучающие центры уже готовят хороших специалистов, абсолютное большинство образовательных учреждений этим практически не занимается».
По его мнению, сам предмет компьютерной безопасности еще недостаточно хорошо проработан. Его любимая книга по разработке безопасного ПО – Security Engineering: A Guide to Building Dependable Distributed Systems Росса Андерсона (https://www.amazon.com/Security-EngineeringBuilding-Dependable-Distributed/dp/0471389226/). Макгроу сказал, что она нравится ему даже больше, чем 12 его собственных книг. По его мнению, «это лучшая книга по безопасности на всей планете».
Макгроу ведет ежемесячный подкаст, посвященный теме безопасности, Silver Bullet Security Podcast (https://www.garymcgraw.com/technology/silver-bullet-podcast/), в рамках которого берет интервью у экспертов и светил индустрии. Недавно он отпраздновал десятилетие своего подкаста, опубликовав юбилейный, 120-й выпуск. В списке опрошенных им экспертов я увидел имена многих из тех людей, о которых написал в этой книге. Как и я, он проявляет неподдельный интерес к истории развития сферы ИБ, любит учиться и делиться знаниями. Когда наше интервью закончилось, я представил, как Макгроу, настоящий человек эпохи Возрождения, прогуливается со своей собакой вдоль реки, думая о новых типах брешей в системе безопасности ПО.