Интервью с Чарли Миллером
THG.ru: Привет, Чарли, благодарим, что ты нашел время поговорить с нами и читателями THG. Полагаю, что ты очень занят сейчас, во время Black Hat.
Чарли Миллер: Да, если отставить в сторону мою “повседневную работу”, включающую консультации, написание слайдов и окончание исследования, можно сказать, что это второе по степени занятости время в этом году. Последний раз так было перед Pwn2Own. Не могу дождаться, когда Black Hat и DEF CON закончатся и я смогу расслабиться и начать новые исследования.
THG.ru: Многое изменилось с момента нашего последнего разговора. Значение и принципиальная важность компьютерной безопасности всё более очевидны для массовых пользователей. Нью-Йорк Таймс опубликовала большое исследование о Stuxnet и о том, как “хорошие парни” обезвредили иранскую ядерную программу. “Плохие парни” атаковали Lockheed Martin, рассекретив данные RSA SecurID. Наконец, мы наблюдали, как конечные пользователи пострадали от деятельности групп вроде Anonymous и LulzSec. Мы надеемся немного поговорить с тобой о глобальной картине перед тем, как начну расспросы о методах взлома iOS и уязвимостях прошивки батарей.
Чарли Миллер: Что ж, иногда бывает непросто понять, кто плохой, а кто хороший. Уверен, что иранцы не считают Stuxnet силой добра.
THG.ru: Мы относим себя к хорошим парням и полагаю, что ты тоже. После бомбардировки Брайтона в 1984, IRA опубликовала сообщение, в котором содержалось следующее: “…запомните: нам повезло один раз. Вам должно везти всегда”. Тот же вызов можно применить к сфере компьютерной безопасности. Только здесь дела обстоят хуже. “Плохие парни” атакуют со всех сторон. У них есть целенаправленные атаки, автоматизированные ботнеты и разработанные методами социальной инженерии инструменты рассылки спама. Кроме того, существует большое количество мотивов вредительской деятельности, от шпионажа до финансовых и политических выгод. И, пока в Великобритании не установилось время стабильности, у нас нет возможности вести продуктивные переговоры с теми, кто ищет уязвимости кредитных карт или ворует конфиденциальные данные. Можем ли мы надеяться на победу в этой войне, или лучше подумать о том, как свести к потери минимуму?
Чарли Миллер: Это то, что мы называем “Definder’s Dilemma” (проблема защитника). Защита всегда сложнее, потому что ты должен быть неуязвим, в то время как атакующему достаточно найти одну дыру. Именно поэтому интереснее находить уязвимости у Apple, чем работать на Apple!
Но всё не так мрачно, как можно подумать. Всегда будут уязвимости и всегда будут преступники, и найти выход, действительно, сложно. Конечный пользователь может лишь довериться защите своего программного обеспечения, почти не имея контроля над степенью защиты. Пока существует общество, будут и компьютерные атаки.
Однако единственное, что можно сделать (и такой подход выглядит как, своего рода, интеграция в индустрию), это максимально усложнить и затруднить проведение компьютерных атак таким образом, чтобы они были возможны для минимального числа хакеров. И даже для опытных хакеров, таким образом, можно свести к минимуму количество возможных путей для атаки. Это подразумевает снижение количества уязвимостей в программном обеспечении и использование его самых последних версий.
Операционные системы становятся всё более устойчивыми к атакам при помощи инструментов вроде stack canaries, ASLR, DEP и “песочницы”, так что хакерам требуется использовать одновременно несколько уязвимостей. Нужен, также, лучший контроль над программами, которые загружаются на наши устройства (как, например, Apple App Store). Цель, к которой стоит стремиться – ситуация, в которой атака проводится не с помощью одного эксплойта, а тремя-четырьмя, и требует больше времени на проведение.
THG.ru: Можно ли “математически” доказать, что программное обеспечение “корректно” и что оно в точности соответствует проектным требованиям? Как, например, обстоит дело в аэрокосмической сфере. Можно ли сделать то же для обычных программ? То есть, можно ли быть “математически” уверенным в защите, или хотя бы в неуязвимости к конкретным типам атак, таким как атака случайными данными или внедрение SQL-кода?
Чарли Миллер: Иногда это действительно возможно, но это не используется. Технологии программной защиты до сих пор находятся в каменном веке. Сегодня работают только практические вещи, такие как fuzz-тестирование, проверка и анализ полученных при этом результатов. В Microsoft проводят fuzz-тесты всего своего ПО, но, как правило, в их продуктах всё равно остаётся много дыр. Я как-то нашёл критическую ошибку в программе, которая была проверена инструментами статического анализа.
Исследования показывают, что разные fuzz-программы находят разные ошибки. Найти все уязвимости, или хотя бы их большую часть, очень трудно, это требует временных затрат и обходится недёшево. У NASA, например, есть столько денег и времени, что они могут быть уверены, что программное обеспечение их Mars Rover безупречно. Ну а поставщики программного обеспечения работают в рыночных условиях, они получают прибыль и вполне могут мириться с “несколькими” уязвимости в своих продуктах.
THG.ru: С совершенствованием программ понятно, ну а что насчёт техники? Йоанна Рутковская (Joanna Rutkowska) несколько лет назад сделала публикацию SMM-атаки, а ты недавно говорил про возможности атаки на устройства Apple через прошивку батарей. Как решить эти проблемы?
Чарли Миллер: Это действительно трудно. Вспоминается другой пример: Ральф Филип Вэйнман (Ralf Phillip Weinmann) с его широкополосной атакой на прошивку мобильных устройств. В устройствах, которыми мы пользуемся, есть много чипов, о назначении которых мы не задумываемся. Это одна из причин моего увлечения исследованием батарей.
Самое сложное в работе с железом – это трудозатратность такого анализа. Каждый может скачать для исследования Internet Explorer и провести fuzz-тест, либо изучить его код. С железом другое дело: это требует оборудования и специальных навыков. Я потратил около $1000 на оборудование в ходе работы с батареями, и всё это – для забавы. Эти препятствия, в конечном итоге, ведут к уменьшению безопасности систем, поскольку они мешают исследователям, например мне, вести исследования.
THG.ru: Как бы ты определил роль “облачных” вычислений? Не слишком ли мы доверяем разработчикам “облачных” программ, а также провайдерам “облачных” сервисов? Ведь у них может быть “дырявое” программное обеспечение или недостаточно строгая политика конфиденциальности, или её сотрудники не чисты на руку, и всё это создаёт риск утечки данных. А большие базы данных, которыми они располагают, представляют собой основную цель для хакеров. Но с другой стороны, такие компании, как Amazon, Apple, Microsoft и Google оснащены лучше, чем обычный пользователь, когда речь заходит о безопасности.
Чарли Миллер: Да, безопасность “облачных” сервисов непроницаема в том смысле, что для неё нелегко провести независимую проверку. Мы все можем изучить MS PowerPoint и узнать, как именно он обрабатывает наши данные, но когда мы отправляем информацию в “облачный” сервис, у нас нет возможности получить доступ к программному обеспечению, чтобы проверить его на ошибки. Ковыряться в таком сайте – незаконно.
Нужно действительно доверять программистам для того, чтобы использовать ПО, которое установлено не в вашей системе и которое не может быть досконально изучено вами. А такие люди как я ничем не могут помочь. И я не уверен в том, что корпорация лучше защищена, чем обычный пользователь, как ты говоришь. Хороший контраргумент в этом смысле это Sony.
THG.ru: Но ведь существуют же независимые эксперты, которые могли бы оценить компании по степени их защищённости, исходя из отзывов пользователей? Допустим, мои данные лучше защищены у меня, чем у Sony, но что касается специалистов из Microsoft и Google, то их квалификация много выше квалификации среднего пользователя. Сложно представить, чтобы средний пользователь был способен на такие действия, которые Google применила при борьбе с китайскими хакерами, или Microsoft, комбинируя технические, политические и юридические инструменты – с Waledac.
Чарли Миллер: Да, это одно из решений, которое я рекомендовал во время моего недавнего выступления в Эстонии в NATO Cooperative Cyber Defense Centre of Excellence. Оно должно проводиться на высшем уровне, с созданием инстанции, вроде Underwriters Laboratories. Когда вы покупаете тостер со знаком UL, вы можете быть уверены в том, что он не сожжёт ваш дом.
Нам нужно нечто в этом роде для программного обеспечения: когда ты видишь знак UL, ты знаешь, что этот продукт может быть далек от совершенства, но он прошёл определённый уровень контроля. На техническом уровне я представляю это как набор fuzz-тестов, определяющих годность или негодность продукта, и соответственный вердикт издателю, причём без пояснений о том, где именно в его продукции найдены ошибки. Таким образом можно найти большее количество ошибок: этим будут заниматься разработчики и издатели, просто для того, чтобы получить сертификат.
Интервью с Чарли Миллером. Продолжение
THG.ru: Мы поговорили о безопасности компьютерной техники и о безопасности программного обеспечения. Как можно защититься от социальной инженерии?
Чарли Миллер: Как правило, человек – это слабейшее звено в безопасности. Почти все алгоритмы взлома, которые я написал, требуют участия человека, по меньшей мере его визита на вредоносный ресурс. Это может быть переход по ссылке, полученной через почту, выход в интернет через общественные точки беспроводного доступа и т.д. Причём компьютеры устроены таким образом, что способствуют всему этому. Не важно, насколько сильна степень защиты системы, если пользователь намеренно запускает вредоносный код, выполняя действия, который, как он думает, открывают порно-картинки.
THG.ru: Давай немного поговорим о взломе (джэйлбрейке) iPad. Насколько я понимаю, это ещё один взлом на основе PDF. У тебя была возможность узнать, как он был сделан?
Чарли Миллер: Да, я немного покопался в его коде. Взлом осуществляется путем отправки PDF-файла, а уязвимость состояла в том, как применяется шрифт, встроенный в PDF. Этот “вредоносный” шрифт можно доставить и иными, кроме PDF, способами. В любом случае, это очень хитроумный код. Дыра заключается в небольшом кодировщике, который работает со шрифтами.
Она позволяет хакеру изменить значение границ буфера, в котором выполняется операция. Затем открывается доступ к части памяти, которая не имеет отношения к кодированию шрифтов. Таким образом целостность памяти нарушается и процесс оказывается под контролем вредоносного кода, а также появляется возможность прочесть и запустить значения из памяти устройства для того, чтобы дать разрешение на операцию, обманув ASLR.
Далее используются фрагменты уже существующего в памяти кода (это называется return oriented programming), которые нужны, чтобы запустить другой взлом, нацеленный на другую уязвимость. И уже с его помощью можно выйти за пределы “песочницы” iOS, получить права администрирования, отключить подписи к коду и таким образом, “джэйлбрейкнуть” устройство.
THG.ru: Как Apple смогла это предотвратить?
Чарли Миллер: Устраняя ошибки! Эту дыру можно было найти при помощи проверки кода, как я думаю. Скорее всего, fuzz-тесты не смогли бы помочь в этом, но и они могли быть полезны: с их помощью можно было усложнить выполнение второго кода, направленного на “выход из песочницы”. Всё остальное устроено правильно: ASLR, DEP, “песочницы”. Модель безопасности iOS великолепна, но вот такие случаи показывают, что и она всегда может подвернуться действенным атакам.
THG.ru: Сейчас в популярных изданиях часто говорят о “джэйлбрейке”, раскрывая этот термин как удалённое внедрение произвольно выполняемого кода. Когда я вижу, что всё больше и больше предприятий используют iPad, то не могу избавиться от паранойи по поводу проблемы безопасности. Мы знаем, что больше 114000 адресов e-mail было украдено у владельцев iPad из AT&T, когда устройство только появилось. Среди них были люди из высшего звена крупных государственных учреждений, финансовых и банковских фирм. Внедрение кода через PDF-файл довольно легко исполняется и, вспоминая о сложности хакерской атаки на Lockheed Martin, мы предполагаем, что наивно думать, что никто не попытается использовать атаки на iPad для получения конфиденциальных данных. Как быть с этой проблемой?
Чарли Миллер: Проблема в том, что любое устройство подвержено атаке такого рода, в том числе и iPhone/iPad. Устройства на базе iOS защищены в большей степени, чем устройства на базе Mac OS X, из-за особенностей кода и выполнения приложений в “песочнице”. Может быть они находятся даже под лучшей защитой, чем платформы под управлением Windows 7. Самый большой риск состоит в физической потере устройства и, таким образом, потере данных. И несмотря на тот факт, что мы только что были свидетелями атаки на iOS – устройства (на ресурсе jailbreakme.com), такой взлом – очень редкий случай. Я думаю что iOS – это лучшее, что можно было сделать сегодня. Всегда остаётся риск того, что к вашим данным получат доступ. Сейчас нужно сосредоточить внимание на ограничении доступа к данным, быстром обнаружении атак и т.д.
THG.ru: Продолжая разговор о раннее упомянутых “облачных” технологиях, работу в каких средах выбирают сейчас организации – однородных или разнородных? Скажем, если у меня есть только одна платформа (например, iPad), то служба безопасности может сосредоточить все усилия на защите именно этой платформы. Если же у меня несколько рабочих платформ, то усилия по охране сети будут распылены и образуется в два раза больше потенциальных дыр и уязвимостей. С другой стороны, аргументом в пользу разнородных платформ может служить то, что в случае удачной атаки на одну из них я могу быстро переместить все ресурсы компании на вторую платформу. Таким образом работа “плохих парней”, по крайней мере, окажется вдвое труднее.
Чарли Миллер: Это большой вопрос и ни один из ответов не будет универсальным. Я, как правило, рекомендую однородные среды, чтобы облегчить работы по защите систем. Если ваше предприятие может постоянно обновлять ПО, то это лучший вариант. Однако разнородные среды обеспечивают лучшую защиту. Вы должны проектировать сети осознавая, что машины могут оказаться под угрозой атаки. Системы получат вредоносную информацию, CMS будет подвергнут SQL-внедрению и т.д.
Точно так же, как вы используете разные пароли в разных местах, вы должны использовать разные системы на своём оборудовании. Таким образом атака будет в значительной степени затруднена тем, что нужно будет взламывать одновременно разные платформы для того, чтобы достичь хоть какого-то результата. Фактически, большинство хакеров не обладают необходимыми навыками, чтобы атаковать две или три разные современные системы, что повышает общую планку безопасности. В противном случае, из-за одной ошибки в ядре Windows, вы подвергаетесь риску, что будет атакован каждый компьютер в вашей сети.
THG.ru: Давай поговорим о взломе батарей. Как ты пришел к идее изучить уязвимости батарей?
Чарли Миллер: В прошлом году на Black Hat я видел сообщение Джека Барнаби о взломе банкомата. Самое классное в нём было то, что метод там объяснялся для людей, не владеющих специальными навыками. “Видишь банкомат? Я могу заставить его выдавать деньги”. Я думал о чём-то в этом роде и размышлял об уязвимостях систем безопасности батарей на ноутбуках. И я решил узнать, каким образом удалённый злоумышленник может взорвать мой лэптоп. Я тогда не знал, насколько это реально, но я знал две вещи: первая – можно получить доступ над системой питания и вторая – я не могу взорвать батарею. Это был весёлый (но долгий) проект.
THG.ru: Этот взлом был устойчивым к переформатированию, правильно? Как вредоносный код может работать до загрузки операционной системы?
Чарли Миллер: Я расскажу, как производится внесение изменений в прошивку основного чипа на батарее. Вы можете сделать это, как хотите, поскольку Apple использует на чипах пароль по умолчанию (они сделаны в Texas Instruments). Этот код остаётся в системе даже после переустановки, установке новых драйверов, замене материнской платы и прочем. Тем не менее он не может непосредственно влиять на работу системы или жёсткого диска.
Для того, чтобы использовать его в качестве вредоносной программы, нужно провести атаку через механизм обработки системных сообщений от аккумуляторной батареи. Я не знаю, есть ли там уязвимости, но я уверен, что тот, кто писал прошивку, не думал о том, что батарея будет способна посылать вредоносные сигналы, так что не удивлюсь, если найду их!
THG.ru: Что скажешь о системах, использующих механизмы загрузки подтверждённого кода и о такой вещи, как технология Intel Trusted Execution? Можно с их помощью предотвратить нападение?
Чарли Миллер: Нет, это не поможет. Процесс загрузки пройдёт нормально и уже после того, как ОС установится и запустится, на неё, используя уязвимости (если они существуют) воздействует вредоносный код — сигнал аккумулятора.
THG.ru: Когда ты или какой-нибудь другой исследователь открываете системные уязвимости, подобные этой, для многих это выглядит как “первое открытие” проблемы. И чаще всего, спустя всего несколько дней появляются сообщения об атаках, проведённых на основе публикаций о найденной уязвимости. Мы знаем, что “плохие парни” бывают талантливы. К тому же у них часто много денег. Что ты думаешь о возможности того, что “плохие парни” делают открытия первыми, и что любые уязвимости, о которых пишут в прессе, уже активно используются, просто мы об этом не знаем?
Чарли Миллер: Это очень интересный вопрос. Меня всегда волнует вопрос о том, успеют ли другие исследователи обнаружить уязвимости раньше меня. Именно поэтому мне понравилась идея исследования аккумуляторов. Я был уверен, что такая идея никому не сможет прийти в голову и, таким образом, мне не придётся тратить свое время впустую. Но оказалось, что Джек Барнаби (парень, взломавший ATM, о котором я говорил раньше) думал о том же самом и ещё год назад обнаружил много из того, что я нашел только сейчас, и никогда никому не говорил об этом.
THG.ru: Обычно под конец интервью я спрашиваю эксперта по безопасности, что делать пользователям, чтобы улучшить защиту. Я знаю, что одна из рекомендаций будет состоять в отказе от традиционного образа мыслей: “не обновлять программное обеспечение сразу, чтобы бета-тестеры успели решить проблемы совместимости”. Представляется более разумным всегда обновляться до последней версии, чтобы исправить найденные уязвимости и сразу бороться с проблемами совместимости, если они есть. Но оказывается, что в современном мире конечный пользователь играет не такую большую роль.
Здравый смысл подсказывает ему, что последние обновления вряд ли смогут защитить от социальной инженерии и кражи данных по кредитным картам из Sony. Для преступных организаций гораздо эффективнее проводить атаки на большие базы даных, а не на отдельные системы. Каким должен быть призыв к действию в 2011 году?
Чарли Миллер: Да, по отдельности мы совершенно бессильны. Но и предприятия не должны полагаться на безопасность своих компьютеров и других устройств, над которыми они имеют мало контроля. Предприятия покупают IDS, AV и т.д., но всё равно могут подвергнуться атаке. Что нам нужно, так это создание крупных фирм-поставщиков, которые делали бы хорошую программную защиту. Или лоббировать правительство, чтобы можно было законно возместить потери, когда его ошибки приводят к нашим финансовым потерям. Либо отказываться от покупки проблемного программного обеспечения, требуя независимой проверки компьютерного ПО. Кроме этого единственное, что мы можем сделать – это ждать неизбежного, а когда оно наступает – реагировать как можно быстрее, чтобы минимизировать ущерб.
THG.ru: Спасибо за очень интересное интервью.
Вы можете ознакомиться с другими двумя беседами с Чарли Миллером “Взлом iPhone через SMS: интервью с Чарли Миллером” и “Взлом iPhone, iPod и iPad через web-страницу: интервью с Чарли Миллером”.