» Материалы за Январь 2015 года » Страница 4

 

Уязвимость CLR: как затащить объект в песочницу без маршаллинга и вызвать Callback

Автор: admin от 29-01-2015, 12:25, посмотрело: 402

Добрый день! Надеюсь, я уже завоевал на Хабре достижение «узнал автора по заголовку» -) Однако сегодня речь пойдет о свежей, еще не закрытой уязвимости в .Net, на которую меня навел своей мыслью один человек (кто подкинет ему инвайт?), который написал мне на почту:

Вы пытались IL кодом приводить объекты к строковому типу и передавать в другие домены?


Сначала я его не понял, но потом родился пример кода, который пробрасывает любой объект типа, находящегося в SharedDomain в песочницу и позволяет использовать его методы БЕЗ маршаллинга.

Дырой, с одной стороны это назвать достаточно сложно, т.к. почву для этого должен подготовить хост. И не самым обычным способом, надо заметить. Но с другой стороны… Да, это баг.

Первое, что нам понадобится — это ставшие обыденностью, методы EntityPtr.ToPointer() и *.ToInstance() из Уязвимость CLR: как затащить объект в песочницу без маршаллинга и вызвать Callback DotNetEx. Их комбинация заставляет приводить объект к несовместимому типу. Т.е. к тому типу, которым он не является:
string str = EntityPtr.ToInstance<string>(EntityPtr.ToPointer(new List<int>()));

Естественно, если вызвать любой метод у такой «строки», ничего не получится: вылетит Exception (кроме виртуальных методов от object — их позиции в таблице вирт методов совпадут с переопределенными в нашем типе и вызов произойдет корректно)

Однако, поскольку строка является уже сериализованным объектом, то при маршаллинге она передается по ссылке, без копирования. Это значит, что мы можем прокинуть ее в метод, код которого выполняется в «песочнице» и там, внутри, сделать кастинг обратно в тип.

Категория: Программирование, Информационная безопасность

 

Бесплатный интернет для планшета от Билайн и МТС

Автор: admin от 29-01-2015, 11:59, посмотрело: 1508

Пару дней назад у Билайн и МТС появились тарифы, в которых бесплатно и без абонентской платы пользователю доступно небольшое количество интернет-трафика.

Тариф Билайн «Интернет навсегда» даёт каждый месяц 200 мегабайт по всей России бесплатно и без абонентской платы.

Бесплатный интернет для планшета от Билайн и МТС

Опция «МТС Планшет Mini» даёт бесплатно и без абонентской платы 17 мегабайт в день по всей России.

Бесплатный интернет для планшета от Билайн и МТС

Категория: Железо » Гаджеты

 

Как мы делали мод под Oculus Rift для World of Tanks

Автор: admin от 29-01-2015, 11:42, посмотрело: 809

Как мы делали мод под Oculus Rift для World of Tanks

Предыстория


Примерно полтора года назад в руки разработчиков минской студии Wargaming попал DK1. Спустя месяц, когда все наигрались в Team Fortress и Quake в Full 3D, возникла идея заделать что-нибудь с Oculus в самих «Танках». О процессе, результатах и подводных камнях работы с Oculus — читайте ниже.

Категория: Программирование, Game Development

 

Оптимизация производительности SharePoint

Автор: admin от 29-01-2015, 11:38, посмотрело: 1521

Введение


Три года назад мы начали использовать SharePoint Foundation 2010 SP2 в качестве системы электронного документооборота и контроля различных бизнес процессов. Как обычно бывает в начале все «летало». Первоначально, в первый год, развернул его на обычной машине (не серверные компоненты), назовем его условно SRV1, где вместе с ним крутился Active Directory, файл-сервер, шлюз интернета, DNS и DHCP. Характеристики SRV1:

  • Процессор — Intel® Core(TM) i5-2500 CPU @ 3.30GHz

  • Память — 8 Гб

  • Материнская плата — Gigabyte GA-Z68P-DS3 (2 PCI, 2 PCI-E x1, 2 PCI-E x16, 1 mSATA, 4 DDR3 DIMM, Audio, Video, Gigabit LAN)

  • Винчестер — 2 Wetern Digital Caviar Blue 500 Гб RAID-1.

  • Сеть — Realtek RTL8168/8111 PCI-E Gigabit Ethernet Adapter PCI


  • Через год, мной было принято решение разграничить полномочия серверов и была куплена серверная стойка и блейд-сервер, собранный на серверных компонентах Intel, конкретно под нужды SharePoint, назовем его условно SRV2. Характеристики SRV2:

  • Процессор — QuadCore Intel Xeon E3-1240 v2, 3400 MHz (34 x 100)

  • Память — 32 Гб

  • Материнская плата — Intel Beartooth Pass LC S1200BTL (1 PCI, 1 PCI-E x1, 3 PCI-E x8, 1 PCI-E x16, 4 DDR3 DIMM, Video, Dual LAN)

  • Винчестер — 2 Western Digital RE4 1TB RAID-1

  • Сеть — Intel® 82579LM Gigabit Network Connection


  • С этого момента прошел еще год и пользователи активно генерировали данные, программист накодил около дюжины кастомных решений для наших потребностей и нужд. Мне тогда показалось, что — все, ближайшие 2-3 года можно не беспокоиться о производительности SharePoint.
    Но, не тут-то было

    Категория: Системное администрирование, Microsoft, Windows

     

    Новости Microsoft: поддержка R, новый Power BI для аналитики и отчетов, анимация и 3D-графика в облаке

    Автор: admin от 29-01-2015, 11:02, посмотрело: 652

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

    Итак:

  • Open-source пакет для 3D-анимации Blender стал доступен для использования с нашей поддержкой в Microsoft Azure Batch – сервисе для осуществления серий расчетов в облаке.

  • Microsoft достигла соглашения о приобретении Revolution Analytics – ведущего разработчика ПО и сервисов для R. Как известно, R – один из самых используемых языков для predictive analytics и статанализа. Соглашение с авторитетной в этой области компанией, имеющей большую экспертизу, означает новую функциональность и возможности для разработчиков.

  • Анонс Power BI Preview – облачного сервиса для бизнес-аналитики для нетехнических бизнес-пользователей.

  • Категория: Компании » Microsoft

     

    Apple исправила важные уязвимости в OS X

    Автор: admin от 29-01-2015, 10:20, посмотрело: 1861

    Компания Apple выпустила OS X 10.10.2, закрыв 54 уязвимости в рамках обновления APPLE-SA-2015-01-27-4. Большинство закрытых уязвимостей позволяют атакующим исполнять произвольный код в OS X, в т. ч. с системными привилегиями. Apple также исправила опасную уязвимость под названием Thunderstrike, которая позволяла компрометировать безопасность OS X на самых ранних этапах загрузки (OS X bootkit). Обновление APPLE-SA-2015-01-27-4 исправляет множественные уязвимости в ОС, которые были публично раскрыты группой специалистов из Google Project Zero.

    Apple исправила важные уязвимости в OS X

    Категория: Информационная безопасность

     

    Интернет-сервис для отслеживания изменений на сайтах

    Автор: admin от 29-01-2015, 08:55, посмотрело: 435

    Хабрахабр, привет!

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

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

    Результатом разработки стал сервис Websvodka.ru, о котором здесь кратко расскажу. Возможно, вам он тоже сможет пригодиться.

    Интернет-сервис для отслеживания изменений на сайтах
    Подробности

    Категория: Программирование » Веб-разработка

     

    Создание плагинов для AutoCAD с помощью .NET API (часть 3 – работа со слоями)

    Автор: admin от 29-01-2015, 07:47, посмотрело: 1429

    Это очередная статья из цикла, посвященного разработке плагинов для AutoCAD. Речь в ней будет идти о базовых операциях со слоями в документе.

    public static string disclaimer = "Автор не является профессиональным разработчиком и не обладает глубокими знаниями AutoCAD. Этот пост – просто небольшой рассказ о создании плагина.";
    
    Слоёный чертеж

    Категория: Программирование

     

    Автоматизируем и ускоряем процесс настройки облачных серверов с Ansible. Часть 1: Введение

    Автор: admin от 29-01-2015, 01:34, посмотрело: 2025

    Ansible – популярный инструмент для автоматизации настройки и развертывания ИТ-инфраструктуры.

    Основные задачи, которые решает Ansible:

    • Управление конфигурациями. Максимально быстрая и правильная настройка серверов до описанной конфигурации.

    • Провижнинг. Управление процессом развертывания новых облачных серверов (например через API, с помощью Docker или LXC).

    • Развертывание. Инсталляция и обновление ваших приложений без простоя наилучшим образом.

    • Оркестрация. Координация компонентов вашей инфраструктуры для выполнения развертываний. Например проверка, что веб-сервер отключен от балансировщика нагрузки, до апгрейда ПО на сервере.

    • Мониторинг и уведомления.

    • Логгирование. Централизованный сбор логов.


    Автоматизируем и ускоряем процесс настройки облачных серверов с Ansible. Часть 1: Введение

    По сравнению с другими популярными инструментами автоматизации ит-инфраструктуры, Ansible не требует установки клиентских приложений на обслуживаемые сервера, что может сократить время настройки перед развертыванием инфраструктуры. Для работы Ansible подключается к обслуживаемым серверам по SSH.

    Категория: Системное администрирование, Linux

     

    Построение кроссвордов с помощью языка Wolfram Language (Mathematica)

    Автор: admin от 29-01-2015, 00:37, посмотрело: 724

    Построение кроссвордов с помощью языка Wolfram Language (Mathematica)

    Перевод поста Майкла Тротта (Michael Trott), «Constructing Crossword Arrays Faster».
    Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, можно здесь.


    В главе 6 моей книги Mathematica GuideBook for Programming, в качестве примера работы со списками я обсудил то, как построить массив, представляющий собой кроссворд. Хотя этот пример был хорош для демонстрации продвинутой работы со списками, тем не менее, использование списков не является оптимальным путем построения массива кроссворда. Сложность добавления нового слова в массив с уже размещенными n-1 словами составляла для этого алгоритма Построение кроссвордов с помощью языка Wolfram Language (Mathematica), таким образом общая сложность составления массива кроссворда из n слов становилась равной Построение кроссвордов с помощью языка Wolfram Language (Mathematica).

    На протяжении последних нескольких лет, некоторые пользователи Mathematica спрашивали меня о том, можно ли построить более быстрый алгоритм. Ответ — да, можно. Если мы будем применять методы хеширования, то мы сможем быстро и за одно и тоже время проверять, можно ли использовать некоторый элемент массива и, следовательно, мы сможем снизить общую сложность алгоритма с Построение кроссвордов с помощью языка Wolfram Language (Mathematica) до Построение кроссвордов с помощью языка Wolfram Language (Mathematica), что для кроссвордов из тысяч слов даст большую разницу во времени, затрачиваемом на вычисления. Этот алгоритм реализован в данной статье. Когда мы размещаем отдельные буквы слова в некоторой прямоугольной таблице необходимо рассматривать множество различных ситуаций. В результате в статье содержится большее, чем обычно, количество процедурного кода. Хотя некоторые определения функций несколько длинные, благодаря комментариям между шагами вычислений и ветками решений код должен быть довольно простым для чтения и понимания.

    Категория: Программирование