Как противостоять хакерским атакам. Уроки экспертов по информационной безопасности

Tekst
1
Recenzje
Przeczytaj fragment
Oznacz jako przeczytane
Jak czytać książkę po zakupie
Nie masz czasu na czytanie?
Posłuchaj fragmentu
Как противостоять хакерским атакам. Уроки экспертов по информационной безопасности
Как противостоять хакерским атакам. Уроки экспертов по информационной безопасности
− 20%
Otrzymaj 20% rabat na e-booki i audiobooki
Kup zestaw za 44,14  35,31 
Как противостоять хакерским атакам. Уроки экспертов по информационной безопасности
Audio
Как противостоять хакерским атакам. Уроки экспертов по информационной безопасности
Audiobook
Czyta Никита Красильников
26,67 
Szczegóły
Czcionka:Mniejsze АаWiększe Aa

Информация о Майкле Ховарде

Если вы хотите узнать больше о Майкле Ховарде, перейдите по следующим ссылкам:

• книги Майкла Ховарда: https://www.amazon.com/Michael-Howard/e/B001H6GDPW/;

• блог Майкла Ховарда: https://michaelhowardsecure.blog/author/mikehow/;

• Майкл Ховард в Twitter: https://twitter.com/michael_howard.

8. Профиль: Гари Макгроу

Когда я позвонил Гари Макгроу по поводу интервью, он сказал, что минуту назад беседовал с католическим монахом, который проходил мимо его дома на реке Шенандоа в Вирджинии. Спустя несколько секунд он переключился на обсуждение нюансов информационной безопасности. Такого рода парадоксы сопровождают Макгроу всю жизнь. Он начал программировать на своем первом компьютере, 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-й выпуск. В списке опрошенных им экспертов я увидел имена многих из тех людей, о которых написал в этой книге. Как и я, он проявляет неподдельный интерес к истории развития сферы ИБ, любит учиться и делиться знаниями. Когда наше интервью закончилось, я представил, как Макгроу, настоящий человек эпохи Возрождения, прогуливается со своей собакой вдоль реки, думая о новых типах брешей в системе безопасности ПО.

Информация о Гари Макгроу

Более подробно о Гари Макгроу можно узнать на следующих сайтах:

• книги Гари Макгроу: https://www.amazon.com/GaryMcGraw/e/B000APFZ2S/;

• веб-сайт Гари Макгроу: https://www.garymcgraw.com;

• подкаст Гари Макгроу: https://www.garymcgraw.com/technology/silver-bullet-podcast/.

9. Вредоносные программы

Когда я впервые начал работать в области ИБ еще в 1987 году, первым делом мое внимание привлекли вредоносные программы. Первые компьютерные вирусы (например, Elk Cloner для компьютеров компаний Apple и Pakistani Brain) только появились, хотя трояны и черви существовали и раньше. Компьютерные вирусы были настолько новы и редки, что популярные медиаэксперты объявили их мистификациями. Так было до тех пор, пока целые компании не подверглись заражению, и это было прежде, чем Интернет стал таким, каким мы знаем его сегодня. В то время компьютерные вредоносные программы распространялись по телефонным сетям и из рук в руки, когда люди копировали программное обеспечение друг у друга (как легально, так и нелегально). Вредоносные программы – по-прежнему один из самых популярных методов взлома.

Примечание. Первая вредоносная программа, которую я когда-либо видел, была бомба Ansi. Она загружалась на компьютер при содействии «помощника» – файла ansi.sys, так же, как в то время устанавливались многие программы и операционные системы, поэтому было сложно заподозрить с виду безопасную программу во вредоносности.

 

Типы вредоносных программ

Традиционные типы вредоносных программ – это вирус, червь и троянский конь. Компьютерный вирус – это самореплицирующаяся программа, которая при выполнении ищет другие программы (или иногда, как в случае с макровирусами, данные) для заражения. Компьютерный червь – это программа репликации, которая обычно не изменяет другие программы или данные. Он просто путешествует по устройствам и сетям, руководствуясь собственными закодированными инструкциями, часто эксплуатируя одну или несколько уязвимостей ПО. Троянский конь – программа, которая маскируется под легитимное приложение, обманом заставляя устройство или пользователя активировать ее. Современная вредоносная программа часто представляет собой сочетание двух или более традиционных типов. Например, она может быть первоначально распространена как троян, чтобы получить точку опоры, а затем использовать собственный код для дальнейшего распространения.

Вредоносные программы могут быть достаточно эффективными. Тысячи из них успешно заражают целые сети по всему миру за несколько часов. Сотни вредоносных программ за один день заражают значительную часть компьютеров, подключенных к Интернету. Первое место по скорости заражения по-прежнему принадлежит программе 2003 года SQL Slammer worm (https://securelist.ru/slammer-vsyo/8976/), которая заразила большинство доступных в Интернете уязвимых SQL-серверов примерно за 10 минут. Соответствующий патч был выпущен спустя пять месяцев, но тогда почти никто не реагировал своевременно. Сегодня большинство вредоносных программ являются троянскими и требуют, чтобы конечный пользователь инициировал действие (например, открыл веб-ссылку или вложенный файл) для запуска вредоносного ПО, хотя вовлеченное устройство или пользователь, возможно, не имели никакого отношения к выполнению программы. Это зависит от сценария вредоносного ПО и его распространения.

Количество вредоносных программ

Существуют сотни миллионов различных вредоносных программ и неизмеримое количество новых создается каждый год. Большинство из них – небольшие настраиваемые вариации, создаваемые из нескольких тысяч различных базовых вредоносных программ. Тем не менее каждая вариация должна обнаруживаться антивирусными программами, которые часто используют комбинацию цифровых сигнатур (уникальный набор байтов для каждой вредоносной программы или группы программ) и поведенческого обнаружения. Инструмент защиты от них должен быстро сканировать десятки миллионов файлов на предмет отсутствия кода сотен миллионов вредоносных программ и делать это без значительного замедления работы устройства, на котором он запущен. Реализовать это трудно, и даже если сделать это с максимальной степенью точности, защита может быть пробита одной новой вредоносной программой с единственным измененным байтом.

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

Программы криминального назначения

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

Теперь почти все вредоносные программы создаются в преступных целях. Большинство так или иначе нацелены на кражу денег, будь то прямая финансовая выгода, кража цифровой личности или паролей. В наши дни «вымогатель», то есть вредоносная программа, шифрующая данные и требующая выкуп, чтобы расшифровать их, очень популярен. Другие программы крадут игровые ресурсы, электронную валюту или совершают несанкционированные сделки с акциями. Некоторые проникают в ваш компьютер, чтобы отображать рекламу (или конкретные объявления), или тайно заставляют компьютер заходить на определенные веб-сайты, чтобы увеличить количество посетителей (трафик) для получения доходов от рекламы. Некоторые используются для взлома и кражи конфиденциальной информации. Другие могут применяться для массовых распределенных атак типа «отказа в обслуживании» (см. главу 28). Прошли времена, когда большинство вредоносных программ было создано озорными детьми; эти программы печатали милые маленькие поговорки на экране, играли в Yankee Doodle Dandy на вашем компьютере или просили вас помочь «легализовать марихуану» (например, вирус Stoned boot). Сегодня вредоносное ПО стало профессиональным!

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

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

Защита от вредоносных программ

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

Вовремя пропатченное программное обеспечение

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

Обучение

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

Антивирусные программы

Антивирусное ПО необходимо использовать практически в каждой компьютерной системе. Даже лучший антивирус может пропустить вредоносную программу, и ни одна программа не гарантирует 100 %-ную защиту от них, но запуск компьютерной системы без нее – это как езда на машине без тормозов. Вы можете работать в такой системе некоторое время, но в итоге катастрофа все-таки случится. В то же время никогда не верьте обещаниям разработчиков антивирусов о 100 %-ной защите. Это ложь.

Программы контроля запуска приложений

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

Инструменты пограничной защиты

Брандмауэры и другие типы локальных и сетевых инструментов пограничной защиты (например, виртуальные ЛВС, маршрутизаторы и т. д.) хорошо защищают компьютерное устройство от вредоносного ПО. Большинство операционных систем имеют встроенные локальные брандмауэры, но многие из них не настроены и не включены по умолчанию. Внедрение брандмауэра может значительно снизить риск быть скомпрометированным, особенно при наличии незакрытой уязвимости. Мы рассмотрим их более подробно в главе 17.

Обнаружение вторжений

Сетевая (NID/P) и хостовая (HID/P) системы обнаружения/предотвращения вторжений в программное обеспечение и устройства могут использоваться для распознавания и остановки вредоносных программ в сети или на локальном хосте. Обнаружение вторжений описано в главе 14. Но, как и традиционные антивирусные программы, сетевые и хостовые системы не гарантируют 100 %-ную защиту, и не следует доверять только им.

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

Главы 10 и 11 посвящены Сьюзен Брэдли и Марку Руссиновичу, которые успешно борются с вредоносными программами на протяжении десятилетий.

To koniec darmowego fragmentu. Czy chcesz czytać dalej?