Несколько месяцев назад исследовательский центр Positive Research проводил анализ безопасности системы Citrix XenServer. Помимо прочего, мы изучали безопасность интерфейсов администрирования, и в частности веб-интерфейсов различных компонентов системы. В результате нам удалось обнаружить несколько критических уязвимостей, которые позволяют получить контроль не только над этими компонентами, но и над мастер-сервером, а значит над всей облачной инфраструктурой. О найденных уязвимостях мы незамедлительно сообщили компании Citrix. После того как бреши были закрыты ([1], [2], [3]), результаты были представлены на форуме Positive Hack Days в рамках секции FastTrack.
Lev Lybin @lybin
Разработчик Python / Team Lead Ведущий (Lead)
CCV: современная библиотека компьютерного зрения
1 min
15KСпустя два года разработки состоялся релиз библиотеки ccv 0.1, которая использует ряд современных алгоритмов компьютерного зрения.
Библиотека ccv написана на C и позиционируется как компактная, лёгкая альтернатива OpenCV, поэтому из неё старательно изъяты все несущественные функции. Таким образом, ccv предназначена не для экспериментов с разными алгоритмами, а для практического использования в конкретных приложениях.
Библиотека ccv написана на C и позиционируется как компактная, лёгкая альтернатива OpenCV, поэтому из неё старательно изъяты все несущественные функции. Таким образом, ccv предназначена не для экспериментов с разными алгоритмами, а для практического использования в конкретных приложениях.
+42
Eviterra.com: Куда улететь дешево или Карта цен
2 min
42KПривет, Хабр!
Буквально совсем недавно мы рассказали об обновленном интерфейсе нашей Эвитерры (с помощью которой можно дешево и быстро покупать любые авиабилеты).
Но в этом посте речь пойдет не совсем про него. По правде говоря, в течение года в любом посте про нас мы получали более 9000 комментариев, содержащих примерно такой текст: «Вот я хочу куда-нибудь улететь дешево, мне все равно куда и все равно когда, сделайте пожалуйста» (а писем с просьбами сделать такое — вообще не счесть, причем некоторые пищущие искренне считают, что первыми додумались до такого и великодушно дарят идею нам, хе-хе).
Вдобавок, после обновления интерфейса многие стали нас спрашивать: «А зачем вам такой календарь?», «А зачем вам такая большая карта, если на ней показывается только путь от пункта отправления в пункт назначения?».

Буквально совсем недавно мы рассказали об обновленном интерфейсе нашей Эвитерры (с помощью которой можно дешево и быстро покупать любые авиабилеты).
Но в этом посте речь пойдет не совсем про него. По правде говоря, в течение года в любом посте про нас мы получали более 9000 комментариев, содержащих примерно такой текст: «Вот я хочу куда-нибудь улететь дешево, мне все равно куда и все равно когда, сделайте пожалуйста» (а писем с просьбами сделать такое — вообще не счесть, причем некоторые пищущие искренне считают, что первыми додумались до такого и великодушно дарят идею нам, хе-хе).
Вдобавок, после обновления интерфейса многие стали нас спрашивать: «А зачем вам такой календарь?», «А зачем вам такая большая карта, если на ней показывается только путь от пункта отправления в пункт назначения?».

+58
Работа по протоколу XMPP используя jquery
3 min
19K
Доброго времени суток!
Этот небольшой обзор, я бы хотел посвятить насущной для некоторых разработчиков проблеме по работе с jabber сервером через long polling соединение по протоколу BOSH.
+33
Турбокнопка против прокрастинации
3 min
41K
Чем дольше откладывается важное дело, тем сложнее его начать, тем активнее мозг начинает искать лазейки чтобы от него увернуться.
Возможно, прямо сейчас вы читаете Хабр в поисках интересной статьи, потому что не можете заставить себя заняться делом.
Если подобное с вами когда-нибудь случалось, то первое что нужно понять — вы в этом не виноваты. Просто так уж работает человеческий мозг — он избегает угроз, а сложная или неприятная работа рассматривается им как угроза.
Прямо сейчас забудьте о том, что когда-то теряли время подобным образом. Ниже я опишу 3 простых шага, которые помогут справиться даже с самой отталкивающей задачей.
+72
Как лучше хранить хэши паролей
4 min
15KTranslation
Как все мы знаем, пароли следует всегда хэшировать с помощью медленного алгоритма с использованием соли. Чаще всего применяют scrypt, bcrypt или PBKDF2, но этот пост не о том, какой алгоритм использовать. Вместо этого мы поговорим о том, что делать с хэшами дальше.
20- (или 32-) байтовые соль и хэш должны храниться в энергонезависимом, зарезервированном, надёжном хранилище, то есть обычно в реляционной базе данных. Но в каких именно таблицах их хранить? Чаще всего используется таблица со столбцами (user_id, salt, hash) или столбцы salt и hash могут быть в общей таблице Users. В обоих случаях хэш и соль находятся в отношении один-к-одному с пользователями.
Беда в том, что даже с подсоленными хэшами, хакерам слишком легко использовать словарные атаки, если они получат доступ к соли и хэшу конкретного пользователя. Допустим, что, благодаря медленному хэшированию, они могут проверить всего тысячу паролей в минуту. Вас может неприятно удивить то, какими слабыми паролями часто пользуются люди, и какой их процент можно взломать даже в этом случае.
20- (или 32-) байтовые соль и хэш должны храниться в энергонезависимом, зарезервированном, надёжном хранилище, то есть обычно в реляционной базе данных. Но в каких именно таблицах их хранить? Чаще всего используется таблица со столбцами (user_id, salt, hash) или столбцы salt и hash могут быть в общей таблице Users. В обоих случаях хэш и соль находятся в отношении один-к-одному с пользователями.
Беда в том, что даже с подсоленными хэшами, хакерам слишком легко использовать словарные атаки, если они получат доступ к соли и хэшу конкретного пользователя. Допустим, что, благодаря медленному хэшированию, они могут проверить всего тысячу паролей в минуту. Вас может неприятно удивить то, какими слабыми паролями часто пользуются люди, и какой их процент можно взломать даже в этом случае.
+43
Фотоальбом
2 min
5.5KСлучилось-таки свершение и дошли мои руки до родительского фотоальбома. Фотографий в нём насчитывается не менее 1000 штук. В своё время у моего родителя был такой фотоаппарат:

штука замечательная и при должном навыке способная выдавать даже сейчас результат не чуть не хуже обычных цифровых фотоаппаратов. Но его огромный минус — фотографии он делает аналоговые, а такие фотографии имеют свойство желтеть, истлевать и всячески портится. А потому, если хочется сохранить архив фотографий — их нужно цифровать, ну или, конечно же, хранить, как антиквариат и не допускать разных шаловливых ручонок.
Отсканировать это, конечно, дело долгое и очень важное в процессе оцифровки снимков. А что делать потом?

штука замечательная и при должном навыке способная выдавать даже сейчас результат не чуть не хуже обычных цифровых фотоаппаратов. Но его огромный минус — фотографии он делает аналоговые, а такие фотографии имеют свойство желтеть, истлевать и всячески портится. А потому, если хочется сохранить архив фотографий — их нужно цифровать, ну или, конечно же, хранить, как антиквариат и не допускать разных шаловливых ручонок.
Отсканировать это, конечно, дело долгое и очень важное в процессе оцифровки снимков. А что делать потом?
+33
Если бы хакеры не существовали, правительству стоило бы их выдумать
5 min
3KTranslation

Эта искаженная картина направляет внимание и ресурсы на борьбу с призраками вместо того, чтобы решать гораздо более распространенные проблемы с безопасностью данных. По информации Privacy Rights Clearinghouse, утеря или неправильная утилизация бумажных документов, флешек, ноутбуков и компьютеров стала причиной более чем 1400 утечек данных с 2005 года — почти половина всех зарегистрированных случаев. В результате этих утечек было скомпрометировано больше 180 миллионов индивидуальных записей, включающих имена, номера социального страхования, адреса, номера кредиток и другое. Сравните это с 631 инцидентом за этот же период, причиной которого стали хакеры или вирусы. Гораздо больше шансов, что ваши приватные данные попадут в чужие руки из-за того, что кто-то забудет служебный ноутбук в вагоне метро, чем по вине взломщика.
+25
Квантовый компьютер стал на две секунды ближе к реальности
3 min
59KМихаил Лукин из Российского квантового центра осуществил прорыв в постройке квантового компьютера. Ученые смогли достаточно долго сохранить данные в квантовой вычислительной системе — исследователи считают что мы стоим в одном шаге от создания реального квантового компьютера.
Всего полгода назад Лукин рассказывал на своей лекции в Москве как еще далеки мы от создания вычислительных машин основанных на квантовых эффектах и вот сегодня из его лаборатории поступила новость опережающая свое время. Оказалось, что будущее уже на пороге.

Лекция в Digital October
Под руководством Лукина группа ученых из Гарвардского университета смогла создать квантовые биты, хранящие информацию в течение примерно 2 секунд. Это примерно на 6 порядков дольше, чем в ходе предыдущих экспериментов. Отдельной особенностью созданного кубита стало то, что он способен работать при комнатной температуре.
Квантовый бит (или кубит) — это наименьший элемент для хранения информации в квантовом компьютере. По мнению исследователей, гарвардский эксперимент сделал на шаг ближе квантовые вычислительные системы.
Большинство существующих квантовых систем создаются на базе сложного и дорогого оборудования, включая установки, охлаждающие систему до абсолютного нуля (-273 по Цельсию). Группа ученых во главе с гарвардским профессором физики Михаилом Лукиным (Mikhail Lukin) использовала алмазы, выращенные в лабораторных условиях.
"То, что нам удалось достичь в плане контроля, — поистине беспрецедентно, — прокомментировал Лукин. — Мы получили кубит при комнатной температуре. Мы смогли записать информацию в него и сохранить ее в течение относительно долгого времени. Мы полагаем, что данный эксперимент имеет лишь технические ограничения. То есть выглядит вполне реальной возможность продления периода существования кубита на часы. В этом случае становится возможным внедрение реальных квантовых вычислительных систем".
Всего полгода назад Лукин рассказывал на своей лекции в Москве как еще далеки мы от создания вычислительных машин основанных на квантовых эффектах и вот сегодня из его лаборатории поступила новость опережающая свое время. Оказалось, что будущее уже на пороге.

Лекция в Digital October
Под руководством Лукина группа ученых из Гарвардского университета смогла создать квантовые биты, хранящие информацию в течение примерно 2 секунд. Это примерно на 6 порядков дольше, чем в ходе предыдущих экспериментов. Отдельной особенностью созданного кубита стало то, что он способен работать при комнатной температуре.
Квантовый бит (или кубит) — это наименьший элемент для хранения информации в квантовом компьютере. По мнению исследователей, гарвардский эксперимент сделал на шаг ближе квантовые вычислительные системы.
Большинство существующих квантовых систем создаются на базе сложного и дорогого оборудования, включая установки, охлаждающие систему до абсолютного нуля (-273 по Цельсию). Группа ученых во главе с гарвардским профессором физики Михаилом Лукиным (Mikhail Lukin) использовала алмазы, выращенные в лабораторных условиях.
"То, что нам удалось достичь в плане контроля, — поистине беспрецедентно, — прокомментировал Лукин. — Мы получили кубит при комнатной температуре. Мы смогли записать информацию в него и сохранить ее в течение относительно долгого времени. Мы полагаем, что данный эксперимент имеет лишь технические ограничения. То есть выглядит вполне реальной возможность продления периода существования кубита на часы. В этом случае становится возможным внедрение реальных квантовых вычислительных систем".
+71
Краш-репорты в *nix: backtrace, SEGFAULT (и reinterpret_cast)
5 min
5.4KTutorial
Привет, уважаемый хабраюзер!

Все разработчики программ рано или поздно сталкиваются с проблемой падения программы у пользователя. Но далеко не все при этом могут получить доступ к конкретному компу, на котором что-то идёт не так, запустить там gdb и повторить падение. И даже получить информацию от пользователя бывает крайне сложно: в багтрекер (или техподдержку) приходит сообщение а-ля «программа падает, что делать?», а вот технической информации, так важной для разработчика, пользователь не прилагает к своему сообщению. Да ещё и не каждый напишет об этом! Просто перестанет пользоваться программой — и всё.
Некоторые ОС предлагают отправить краш-репорт разработчикам. Но! Разработчикам ОС, а не Вам, то есть совсем не тем людям, которым это действительно нужно! И тут на помощь приходят собственные краш-репорты, которая Ваша программа должна бы отправить на Ваш сервер. Но как их сделать? Как правильно обработать SEGFAULT и при этом отправить вразумительную информацию разработчику?

Все разработчики программ рано или поздно сталкиваются с проблемой падения программы у пользователя. Но далеко не все при этом могут получить доступ к конкретному компу, на котором что-то идёт не так, запустить там gdb и повторить падение. И даже получить информацию от пользователя бывает крайне сложно: в багтрекер (или техподдержку) приходит сообщение а-ля «программа падает, что делать?», а вот технической информации, так важной для разработчика, пользователь не прилагает к своему сообщению. Да ещё и не каждый напишет об этом! Просто перестанет пользоваться программой — и всё.
Некоторые ОС предлагают отправить краш-репорт разработчикам. Но! Разработчикам ОС, а не Вам, то есть совсем не тем людям, которым это действительно нужно! И тут на помощь приходят собственные краш-репорты, которая Ваша программа должна бы отправить на Ваш сервер. Но как их сделать? Как правильно обработать SEGFAULT и при этом отправить вразумительную информацию разработчику?
+54
Мысли о Python 3
16 min
81KПредлагаю вашему вниманю пересказ замечательной статьи автора Jinja2, Werkzeug и Flask, соавтора Sphinx и Pygments Армина Ронахера. Я получил огромное удовольствие разбирая исходные коды его творений и очень многое для себя почерпнул. Армин пишет отличные фреймворки, и как никто другой может разъяснить, чем чреват переход с Python 2 на Python 3 и почему его не так легко осуществить.
+108
Бесплатные гейтвеи из Skype в SIP и обратно
2 min
24KВ процессе работы над одним проектом нужно было организовать конференц-связь между людьми, расположенными в разных временных поясах. При этом проект пока некоммерческий, соответственно доступ должен быть бесплатным.
На тот момент у меня уже был работающий сервер с FreeSWITCH, используемый как мини-АТС для одного абонента.
На тот момент у меня уже был работающий сервер с FreeSWITCH, используемый как мини-АТС для одного абонента.
+21
Торговля знает, когда вы ждете ребенка
5 min
73KОднажды в магазин Target зашел мужчина и потребовал вызвать менеджера. В своих руках он сжимал огромную кипу купонов магазина, полученных его дочерью.
«Моя дочь получила это по почте! – прокричал он. – Она еще в школу ходит, а вы посылаете ей купоны на детскую одежду и памперсы? Да как вы смеете! Вы хотите таким способом побудить школьниц рожать?»
Менеджер посмотрел на пачку купонов на материнскую одежду, детскую мебель – действительно, они были адресованы дочери рассерженного мужчины. Менеджер принес свои извинения.
Через несколько дней он позвонил мужчине, чтобы еще раз извиниться. По телефону голос отца звучал растерянно. «Знаете, я серьезно поговорил с дочерью, и выяснилось, что в моем доме происходило то, о чем я совершенно не догадывался. Она рожает в августе. Примите мои извинения».
Как Target узнал, что дочь беременна до того, как об этом стало известно ее отцу? Ответ прост – благодаря системе прогнозирования беременности (pregnancy prediction system), разработанной аналитиком компании Эндрю Полом. Под катом – обо всем по порядку.
«Моя дочь получила это по почте! – прокричал он. – Она еще в школу ходит, а вы посылаете ей купоны на детскую одежду и памперсы? Да как вы смеете! Вы хотите таким способом побудить школьниц рожать?»
Менеджер посмотрел на пачку купонов на материнскую одежду, детскую мебель – действительно, они были адресованы дочери рассерженного мужчины. Менеджер принес свои извинения.
Через несколько дней он позвонил мужчине, чтобы еще раз извиниться. По телефону голос отца звучал растерянно. «Знаете, я серьезно поговорил с дочерью, и выяснилось, что в моем доме происходило то, о чем я совершенно не догадывался. Она рожает в августе. Примите мои извинения».
Как Target узнал, что дочь беременна до того, как об этом стало известно ее отцу? Ответ прост – благодаря системе прогнозирования беременности (pregnancy prediction system), разработанной аналитиком компании Эндрю Полом. Под катом – обо всем по порядку.
+111
10 правил, которые помогут приложению получить рекомендацию от Google Play
3 min
27KTranslation
Сегодня на платформе Android доступно более 600 000 приложений, в которых очень легко потеряться. Один из самых надежных способ стимулирования скачиваний – это получение приложением в Google Play титула «Выбор редакции», но до сих пор компания не объяснила, какими принципами она руководствуется, чтобы определить, пригодно ли приложение для того, чтобы получить такую рекомендацию.
На конференции Google I/O, прошедшей на прошлой неделе, заступники всех разработчиков Дэн Галпин и Йан Льюис предложили разработчикам для Android несколько шагов, следуя которым они могут увеличить шансы своего приложения попасть в список рекомендуемых на Google Play.

На конференции Google I/O, прошедшей на прошлой неделе, заступники всех разработчиков Дэн Галпин и Йан Льюис предложили разработчикам для Android несколько шагов, следуя которым они могут увеличить шансы своего приложения попасть в список рекомендуемых на Google Play.

+25
Перехват системных вызовов в linux под x86-64
3 min
6.6KВведение
В интернете опубликовано множество статей по перехвату системных вызовов под x32. В рамках решения одной задачи появилась необходимость в перехвате системных вызовов под архитектурой x86-64 при помощи загружаемого модуля ядра. Приступим:
+42
Скринкасты о том, как резать и натягивать
1 min
11KЧтобы было понятно о чем речь, прикладываю 3 скринкаста, второй и третий под катом.
+111
Чем платят за успех IT-специалисты
2 min
11KОчень часто в историях успеха забывают указать один очень важный момент. А именно, какую цену платит человек за свой успех. Область IT имеет повышенный интерес к этой тематике. Так как, даже находясь дома, человек работает на компьютере удалено. Можно тратить все свое время на работу, на продвижение своего бренда, сервиса, однако ваша семья думает об этом иначе.


+93
Могут ли насекомые быть запчастями?
5 min
72K
Эта киберплатформа несёт до 9 грамм полезной нагрузки.
Возьмём гусеницу. В какой-то момент она начинает сама переделывать себя в бабочку. Вопрос прост: можно ли дать ей для сборки синтетические компоненты, которые позволят получить киборга-насекомое? Ответ – да, можно. И Мишель Махарбиз это сделал.
Когда этот учёный из Беркли создал первого киборга-жука, к нему сразу пришли военные (DARPA) и спросили, собирается ли он убивать людей, плюс что будет, если его жук убежит и начнёт бешено размножаться.
+165
Экспорт избранного Хабра в FB2
2 min
9.7KНенавижу длинные вступления
И поэтому не буду писать их даже под спойлером.
- Зачем?
- Для оффлайнового просмотра на читалках.
- Моя читалка не поддерживает FB2!
- Хочу!
- Обзаводимся Python 2.7+. Тестировалось на Python 2.7.3.
- Ставим библиотеку BeautifulSoup 4. Вкратце варианты:
apt-get install python-beautifulsoup4
easy_install beautifulsoup4
pip install beautifulsoup4
- Исходники и
python setup.py install
- Качаем код из репозитория (прямая ссылка на последнюю версию).
- Открываем файл
habrafav.py
и в строкеusername = ...
прописываем свой логин. python habrafav.py
(или простоhabrafav.py
под Windows)- Ждём. У меня с кэшированными данными экспорт ~150 статей занимает около 6 минут и 600 Мб оперативной памяти.
- Забираем
habrahabr_favorites.fb2
. Мой занимает примерно 62 Мб.
+74
Yii: Динамическое изменение правил валидации (сценариев)
5 min
16KВ данном маленьком топике я хотел бы рассказать об одном очень простом рецепте (который многим из вас, вероятно знаком) в контексте фреймворка Yii. Речь идет о динамическом изменении правил валидации формы — когда правила валидации изменяются в зависимости от выбора пользователя вашего приложения, сделанного, например, путем выбора значения из списка или установленного чекбокса.
+19
Information
- Rating
- Does not participate
- Location
- Бангкок, Таиланд, Таиланд
- Registered
- Activity