tag:blogger.com,1999:blog-654279083390275842.post5398031925343646967..comments2024-03-19T12:22:43.654+03:00Comments on Размышлизмы eao197: [prog] NativeClient от Google продолжает мутировать в интересном направленииeao197http://www.blogger.com/profile/17283739752119445290noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-654279083390275842.post-79968060472381299272010-05-18T18:44:42.102+03:002010-05-18T18:44:42.102+03:00Поправочка: даже не декабрем 2009, а ноябрем 2009....Поправочка: даже не декабрем 2009, а ноябрем 2009.eao197https://www.blogger.com/profile/17283739752119445290noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-60588115364530247162010-05-18T18:43:57.261+03:002010-05-18T18:43:57.261+03:002san: в ответе на комментарий тов.gp я дал урл на ...2san: в ответе на комментарий тов.gp я дал урл на PDF-ку, в которой показано, каким образом в NaCl используются наработки LLVM. Данная тобой ссылка на доклад датируется декабрем 2009, упомянутая мной PDF-ка февралем 2010. Думаю, за это время Google несколько пересмотрел свою технологию.<br /><br />А за объяснение принципа работы NaCl спасибо.eao197https://www.blogger.com/profile/17283739752119445290noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-33621679062657296002010-05-18T18:21:09.176+03:002010-05-18T18:21:09.176+03:00Женя, ты чуток народ вводишь в заблуждение. LLVM в...Женя, ты чуток народ вводишь в заблуждение. LLVM вообще не нужно было упоминать, да и Java тоже. NativeClient работает таким образом: бинарник (!!!) заливается по сети и проходит через очень маленький (по объему и функционалу) плагин браузера, который один раз проверяет бинарник на безопасность и отдает его на выполнение в процессор. Безопасность обеспечивается тем, что код проверки очень небольшой (код этого плагина браузера) в отличие от Явы. Кроме того, на код наложены жесткие ограничения: сегмент кода выполняется, но не пишется, данные пишутся, но не выполняются, команды косвенных переходов очень ограничены, команды выровнены по определенной границе (для гарантии дизассемблирования). Таким образом, в коде безопасности ошибки вычистят очень быстро (это не 30М ява машыны с библиотеками, это несколько килобайт плагина к браузеру) и этот код гарантирует, что то что он запустит после однократной проверки не сделает чего-нибудь неправильного. Выполняемый код работает на процессоре напрямую и общается только с API NativeClient. <br /><br />Разработчики, во-первых, отказались от всяких jit, во-вторых, от монстроидальных оболочек, обеспечивающих безопасность (при этом дырявых, т.к. в них слишком много кода, чтобы вычистить в нем ошибки).<br /><br />Код для выоплнения генерит модифицированный GCC, который делает нужное выравнивание команд и не генерит разных косвенных переходов.<br /><br />Подробности тут (на русском с картинками)<br /><br />http://www.youtube.com/watch?v=Oknm3_82Pc0<br /><br />Обсуждение тут<br /><br />http://www.linux.org.ru/news/opensource/4884022Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-66634933255261386372010-05-15T20:56:52.380+03:002010-05-15T20:56:52.380+03:00к тому NativeClient контролирует выход за пределы ...<i>к тому NativeClient контролирует выход за пределы отведенной нативному коду памяти</i><br />Самое главное, чтобы в системе контроля не было допущено уязвимостей. Слышал, что в Java часто исправляли уязвимости, связанные с возможностью повышения привилегий и выхода за дозволенные границы.Quakerhttps://www.blogger.com/profile/08892867659877597144noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-33715705931211931042010-05-14T21:58:54.256+03:002010-05-14T21:58:54.256+03:00Гугл выдает вот эту ссылку: http://nativeclient.go...Гугл выдает вот эту ссылку: http://nativeclient.googlecode.com/svn/data/site/pnacl.pdf<br /><br />Сам я никогда NaCl никогда вблизи не смотрел, просто читаю новости о нем.eao197https://www.blogger.com/profile/17283739752119445290noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-67825152983320673942010-05-14T19:07:00.353+03:002010-05-14T19:07:00.353+03:00Есть какие-нибудь подробности по подключению к NaC...Есть какие-нибудь подробности по подключению к NaCl LLVM?gphttps://www.blogger.com/profile/17713221729865800778noreply@blogger.com