Водка с феназепамом? Или всё-таки правда?
Прав ли Крис Касперски?
Наткнулся сегодня на очень интересную статью:
Российский хакер, известный как Крис Касперски, обнаружил уязвимость в процессорах Intel, которая позволяет совершить удаленный взлом системы при помощи скрипта на JavaScript или TCP/IP-пакета вне зависимости от операционной системы. Об этом пишет PC World со ссылкой на краткое описание презентации, подготовленной Касперски.Хакер намерен в октябре продемонстрировать свою методику на конференции Hack In The Box в малайзийском Куала-Лумпуре. Касперски заявил, что намерен показать работающий код и сделать его общедоступным. Он добавил, что ошибки в микропроцессорах становятся все более серьезной угрозой, так как уже пишутся использующие их зловредные программы.
По словам хакера, некоторые ошибки процессоров позволяют просто обрушить систему, другие помогают злоумышленнику получить доступ на уровне ядра ОС, а использование третьих отключает защиту Vista.
Крис Касперски продемонстрирует свою методику взлома на компьютерах с Windows XP, Vista, Windows Server 2003, Windows Server 2008, ОС на базе ядра Linux и BSD. Возможно, также добавится Mac. На все эти системы будут установлены последние обновления.
Всё же интересно: правда ли это? Или доблестные щелкопёры всё приукрасили?
В оригинале статьи сказано:
In this presentation, I will share with the participants the finding of my CPU malware detection research which was funded by Endeavor Security. I will also present to the participants my improved POC code and will show participants how it’s possible to make an attack via JavaScript code or just TCP/IP packets storms against Intel based machine. Some of the bugs that will be shown are exploitable via common instruction sequences and by knowing the mechanics behind certain JIT Java-compilers, attackers can force the compiler to do what they want (for example: short nested loops lead to system crashes on many CPUs). I will also share with the participants my experience in data recovery and how CPU bugs have actually contributed in damaging our hard drives without our knowledge.
И я вот не могу отделаться от подозрения, что всё это розыгрыш: начать уж с того, что Java != JavaScript, и не факт, что любой движок для JavaScript будет компилировать JavaScript в родной код процессора. И я не уверен, что процессор может напрямую повредить жесткий диск (разве что он будет скармливать контроллеру соответствующие команды). Обработкой TCP/IP-пакетов процессор напрямую вообще не занимается (если только я что-то не пропустил).
Очень подозреваю, что выяснится десяток жутко специальных требований, необходимых для успешной реализации данной уязвимости.
Но всё-таки, вдруг это не самореклама и Крис прав?
Автор: Vladimir; опубликовано в: Безопасность; метки: intel, атака, безопасность, ошибка, уязвимостьИюл
2008
Комментарии к статье «Водка с феназепамом? Или всё-таки правда?» (21) »
Пожалуйста, не используйте эту форму для комментирования! Данная форма предназначена исключительно для ботов.
Оставить комментарий к записи «Водка с феназепамом? Или всё-таки правда?»
गते गते पारगते पारसंगते बोधि स्वाहा
Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.


Ну в cpu-bugs ничего нового нет
Про яваскрипт – это инвращенная фантазия переводчика, ключевое слово – JIT.
Посмотрим, короче..
А вообще правильно на ЛОРе пишут, Крису этому только на Ксакеп фееричный бред и писать.
Да я с этим не спорю…
Я тоже сначала так подумал, потом решил найти оригинал:
Читал я когда-то его статью «Философия и архитектура NT против UNIX с точки зрения безопасности«. Поэтому слишком всерьез слова Крыса не воспринимаю.
Что за дурацкая привычка передергивать? Просто выскажусь здесь, чтобы нигде больше не фладить. Речь идет о том, что если для интерпретации используется Java-машина, можно составить код, досящий проц. По всему рунету «специалисты» так и задергались выпячиваясь. И идиоту понятно что это будет работать только в определенных условиях! Это презентация демострирующая саму возможность подобной атаки. А если блекхет накатает руткит, атакующий, скажем, лишь фряху? Правильно, мы и не узнаем об этом – нам останется только и сидеть, перемалывая у себя в блогиках какой Крис фантазер. Ничего нового в этих багах нет, более того, к их спискам предоставляется открытый способ, а Касперски ничего не «обнаруживал», а лишь хочет показать саму возможность атаковать процессор (!) удаленно (!). То что он имеет самое непосредственное отношение к черному ПО сомневаться не приходится, и если он говорит что такие разработки ведутся – надо прислушаться. Нехило, например, захватить пару-тройку рутовых ДНС-серверов. Ну и да, насчет TCP/IP ты немного «пропустил».
Я, Java != JavaScript.
Вопрос лишь в практической реальности выполнения этих условий.
Я не спорю, просто в свете его некоторых публикаций (ссылка выше, в качестве примера) я склонен делить его слова на 16.
Меня терзают смутные сомнения, что рутовый DNS-сервер будет с готовностью обрабатывать Java/JavaScript от любого желающего.
А можно уточнить, что именно я пропустил? По моим субъективным ощущениям, DoS проца по TCP/IP удастся только в глубоко частном случае.
Update: если wasm.ru не открывается, http://www.wasm.ru/article.php%3Farticle%3Dunixvsnt&hl=ru&ct=clnk&cd=1&gl=ua» rel=»nofollow»>ссылка на кэш гугла.
По поводу багов в процессоре: возможно, это малоизвестный факт, но многие баги исправляются через microcode update. Которые даже приходят (приходили) в обновлениях Windows.
Использование errata из спецификаций возможно, но: только совместно с уязвимостями в операционных системах, драйверах, сетевых компонентах и пр. Взять ту же Windows — обработка пакета зависит от того, что стоит в системе. Гарантировать, что будет выполнена конкретная последовательность команд, очень трудно. По большому счету, Крис мог найти дыру в определенном драйвере определённой сетевой карты, просто он это не разглашает.
PS – а если в Linux/UNIX пересобрать ядро с другими опциями/другой версией компилятора, то вообще другие последовательности команд получатся… Так что утверждать о практической применимости «хака» пока еще рановато. Линус Торвальдс, например, считает эти баги несущественными
PPS – ну или TCP/IP «вскроет» закладку, встроенную разработчиками.
По теме:
Пока только так.
Привет
<>
И что он там продемонстрировал?)
Если честно, не знаю…
Я видел, скажем так, тезисы доклада, но ничего нового для себя не узрел. Их мораль — читайте errata к процессору.
По поводу TCP/IP — всё очень туманно: если я правильно понял, то существует теоретическая возможность завалить систему, если драйвер обрабатывает пакеты на нескольких процессорах. При этом при весьма туманно опеределённых условиях из-за багов в реализации когерентности кэша между процессорами/ядрами процессора могут происходить неопределённые вещи. Естественно, детали не раскрываются
С JIT-компиляторами всё туманно: эксплоит должен полагаться на баг AX52, но Intel’овский мануал (если не врёт, конечно), говорит, что такое возможно только .
Другие баги процессора (например, AI37, AI101) вообще трудны для эксплуатации: для того, чтобы как-то использовать этот баг, уязвимое приложение должно выполнить
rep scas,rep stosилиrep cmpsкак минимум(!) над 4 Гб(!) памяти (иными словами, у нас есть две строки размером по 4 Гб и мы их сравниваем). Я понимаю, что такое сделать можно, используя какой-нибудь buffer overflow, но если есть переполнение буфера, то можно так и не извращаться.Мне всё же интересно, сдержал ли Крис обещание завалить абсолютно любую машину с MacOS/Windows/Linux.
Гы. Ясно
Здрасте всем…
Ну не знаю пипл, не судите строго, но, мне кажется, некоторые в этой теме, зря – достаточно негативно относятся к Крису… Сразу хочу сказать – я не Крис и, к сожалению, вряд ли когда-либо достигну хотя бы 1/32 от того, чего достиг он… Но, все же… Вроде как более 17 лет работаю с самыми разными архитектурами процев и операционками и… Лично не вижу ничего невероятного в том, чтобы осуществить удаленную атаку – именно на Intel проц, независимо от архитектуры ОС… Понятно, что на первом месте с точки зрения дыр – Винда…
))
Микрокод Интел «шьется» через MSR регистры. Задача – сформировать полезную нагрузку пакета как набор байт, при декодировании которых, проц уйдёт в режим обновления… Что Вы в микрокод забросите – Ваше право, но… Надеюсь, никто здесь не станет оспаривать тот факт, что микрокод – БОГ, а ассемблер – де факто мнемоника?
Это было необходимое условие… Теперь – достаточное – заставить сетевую инфраструктуру ОС выполнить полезную нагрузку пакета (переполнение стека и т.д.) Я не знаю как это сделать, но ведь «делают»?
А дальше как часы…
Не знаю как с процами Intel, но могу Вам на 110% сказать, что «завалить» большинство маршрутизаторов Cisco можно с помощью элементарной асинхронной посылки всего-лишь 26 байт из того же гипертерминала, в ручную!!!
)) Точно также, можно в 7 случаях из 10 заменить основную часть функциональности в Cisco маршрутизаторах на свою, в обход IOS… Почему знаю? – не потому что – гений, а потому что именно с этим и работаю…
Так что – всем удачи! И не спешите резко критиковать специалистов в информационной сфере…
С Уважением,
ТЕМП.
pmet1234@yandex.ru
ТЕМП, я могу ошибаться, но доступ к MSR без Ring0 вряд ли возможно получить. Если атакующий получил Ring0, стоит ли извращаться с микрокодом и т.п.?
Однозначно с Вами согласен, но, думаю, стоит, если речь ведется не о самом факте получения абсолютных привилегий, а о вмешательстве в перспективе на долгое время… Особенно, с учетом бесполезности в данном случае антивирусов и их обновлений… Ведь, суть не в том, чтобы внедриться, а в том – чтобы остаться незамеченным… А куда еще дальше залазить микрокода? Дальше только цифровая схемотехника… Возможно, я не прав…
Если забрались в систему, то да. Но ведь у Криса был несколько другой постулат: если есть машина на основе интеловского процессора, то ставьте на нее всё, что хотите, я её сломаю парой TCP-пакетов. Что, как выяснилось из errata Intel, не является правдой.
Этот момент действительно интересен, щаз, вместо того, чтобы лечь спать, полезу в инет – может что-нибудь уточню по поводу любых TCP…
P.S. Заинтриговали Вы меня… И Крис тоже…
))
Просмотрел бегло документ:
http://conference.hitb.org/hitbsecconf2008kl/materials/D2T1%20-%20Kris%20Kaspersky%20-%20Remote%20Code%20Execution%20Through%20Intel%20CPU%20Bugs.pdf
но, честно говоря, надо вникнуть поглубже… Как дойдёт – отпишусь…
Примерно то же, что написано здесь. Для эксплуатации многих уязвимостей требуются весьма специфические условия. Боюсь, что прямо любую машину так не свалишь. Особенно, если от программы требуется пересылка четырёх гигабайт данных.
Крис подтвердил, что ошибки в процессорах есть, но я не находил ссылку на демонстрацию удалённого взлома произвольной машины на базе процессора Intel. Из-за чего весь шум и поднялся.
PS — я бы всё же в BIOS лез, это надёжнее. Microcode Update разве не до перезагрузки?
Так вроде же БИОС и загружает каждый раз обновление, ранее прошитое, при перезагрузке системы?
Смотря что сконфигурировано на загрузку обновлений. Обновлять микрокод может и операционная система (в частности, были соответствующие обновления от Microsoft). В любом случае, обновление работает только до перезагрузки.
Презентация с той конференции, автор мышъх.
http://conference.hitb.org/hitbsecconf2008kl/materials/D2T1%20-%20Kris%20Kaspersky%20-%20Remote%20Code%20Execution%20Through%20Intel%20CPU%20Bugs.pdf
hexBrain, это то же самое, что и http://conference.hitb.org/hitbsecconf2008kl/materials/D2T1%20-%20Kris%20Kaspersky%20-%20Remote%20Code%20Execution%20Through%20Intel%20CPU%20Bugs.pdf
Опять же, ссылки на errata от Intel и никакой конкретики. Я пока не вижу способа свалить любую машину TCP-пакетами. Слишком уж специфические условия требуются.
Крис подтвердил, что ошибки в процессорах есть — с этим никто и не спорит, но я не находил ссылку на демонстрацию удалённого взлома произвольной машины на базе процессора Intel. Из-за чего весь шум и поднялся.