RSS
Pages: 1 ... 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
[>] SQLi по прежнему в строю
habra.15
habrabot(difrex,1) — All
2015-12-02 20:00:03


Для взлома TalkTalk, который привел к краже личных данных порядка 150 000 пользователей, была использована уязвимость, обнаруженная еще до его рождения. Этим методом атаки была SQL инъекция (SQLi). В данном виде атак хакеры обычно вводят вредоносные команды в формы на веб-сайте, чтобы заставит базу сайта выдать нужные данные. ![][1] Такой метод использовался для воровства персональных данных сотрудников Всемирной организации здравоохранения, похищения данных Wall Street Journal и взлома сайтов американских федеральных агентств.

> Это самый простой способ взломать сайт

Это выражение одного из хакеров, известного под псевдонимом w0rm и ответственного за взлом Wall Street Journal. Вторжение тогда заняло всего несколько часов. [Читать дальше →][2]

[1]: https://habrastorage.org/files/b81/d15/b5c/b81d15b5c854499794cc611b60fb8a8b.jpg
[2]: http://habrahabr.ru/post/272101/#habracut

[>] Пол Грэм: «Месть ботанов», часть 3
habra.15
habrabot(difrex,1) — All
2015-12-03 11:30:02


[Продолжаем перевод][1] эссе и книги Пола Грэма «Хакеры и Художники». Недавно на Хабре промелькивала статья [«Нам нужны не столь мощные языки программирования»][2] с «откровенями 60х годов». Чтобы самому разобраться в этом вопросе, нужно понять, что такое «мощность», про это Грэм рассказывает в конце главы. Так же в статье Грэм поднимает вопрос столкновения интересов крутых программистов и посредственных начальников в выборе языка программирования. Я задал пару вопросов специалистам компании [Edison][3]: _ — Как вы поступаете, если заказчик требует написать что-то на одном языке, а вы рекомендуете для пользы дела другой язык?_ — Мы предлагаем заказчику использование того или иного языка и фреймворка исходя из целесообразности для проекта. Если по той или иной причине заказчик, выслушав наши доводы, настаивает на решении задачи на каком-то другом языке или платформе, то мы считаем это частью постановки задачи и решаем её именно так. _ — «Невежественный начальник» vs «отличный программист» — как у вас решается подобный вопрос?_ — Это вопрос ответственности. Долг программиста — продумать и донести до начальника технически лучшее решение, но если начальник по той или иной причине всё равно настаивает на своей точке зрения, то хороший программист, как и любой подчинённый, должен послушаться, а не доказывать с пеной у рта свою правоту и саботировать работу. Ответственность за решение в этом случае лежит на начальнике.

----



> _«Мы гонялись за С++ программистами. Нам удалось перетащить их целую кучу на полпути к Lisp.» Гай Стил, соавтор Java спецификации._

![][4] Оригинал — [Revenge of the Nerds][5], Май 2002 _За перевод спасибо Щёкотовой Яне._ Начало: [Пол Грэм: «Месть ботанов», часть 1][6] Продолжение: [Пол Грэм: «Месть ботанов», часть 2][7]

#### Часть третья

**Центростремительные силы** Я и не утверждаю, что при использовании нестандартных технологий не требуется никаких затрат. Не такими уж беспочвенными оказались опасения нашего начальника-профана. Но без осознания всех рисков он склонен к их преувеличению. Мне на ум приходят три проблемы, которые могут возникнуть при использовании менее популярных языков программирования. Ваши программы могут некорректно работать с программами, написанными на других языках. В вашем распоряжении может быть гораздо меньше различных библиотек. Вы также столкнетесь с трудностями при найме программистов. Насколько страшна каждая из перечисленных проблем? Важность первой варьируется в зависимости от того, есть ли у вас контроль над всей системой. Если вы создаете ПО, которое будет запускаться на удаленной пользовательской машине, управляющей кадиллаком, на закрытой операционной системе (не буду приводить названия), то, возможно, есть преимущества в том, чтобы писать свое приложение на том же языке, на котором написана сама ОС. Но, если вы держите под контролем всю систему и владеете исходными кодами всех ее частей, как, вероятно, в случае с ITA, то вы можете использовать любой язык, какой захотите. При возникновении несовместимости, вы можете самостоятельно это исправить. [Читать дальше →][8]

[1]: http://habrahabr.ru/company/tceh/blog/253311/
[2]: http://habrahabr.ru/company/mailru/blog/271585/
[3]: http://www.edsd.ru/
[4]: https://habrastorage.org/files/a54/154/f22/a54154f22387402bbe1d011a1856dd9f.jpg
[5]: http://www.paulgraham.com/icad.html
[6]: http://habrahabr.ru/post/267865/
[7]: http://habrahabr.ru/company/edison/blog/268293/
[8]: http://habrahabr.ru/post/271103/#habracut

[>] Образовательные проекты Mail.Ru Group: 4 года, 206 студентов, 101 преподаватель
habra.15
habrabot(difrex,1) — All
2015-12-03 12:30:02


![][1] Привет, Хабр! Четыре года назад появился проект Технопарк Mail.Ru, о котором мы уже не раз здесь рассказывали (например, [вот][2], [вот][3] и [вот][4]). Принципы, заложенные в его основу, оказались настолько удачными, что за этот короткий период на их базе возникло еще два аналогичных проекта ([Техносфера][5] и [Технотрек][6]). Кроме того, мы начали запускать проекты по модели Технопарка в регионах. Сегодня я расскажу не столько о самом проекте, сколько о порожденных этим проектом смыслах, о том, какие, иногда совсем неожиданные, результаты можно получить. Но начнем мы с идеи, вернее истории ее появления. [Читать дальше →][7]

[1]: https://habrastorage.org/files/910/032/5b3/9100325b361947db8ef345a5a828c518.png
[2]: http://habrahabr.ru/company/mailru/blog/175511/
[3]: http://habrahabr.ru/company/mailru/blog/265463/
[4]: http://habrahabr.ru/company/mailru/blog/250219/
[5]: http://habrahabr.ru/company/mailru/blog/253441/
[6]: https://track.mail.ru/pages/index/
[7]: http://habrahabr.ru/post/272181/#habracut

[>] 8 принципов планирования разработки, упрощающих жизнь
habra.15
habrabot(difrex,1) — All
2015-12-03 13:30:02


Скажем прямо, русскому человеку планировать тяжело. Люди в России сильны импровизацией и умением собираться в критический момент, выдавая поразительные результаты. Но жизнь показывает, что команда программистов на подобной идеологии далеко не уедет. Героические усилия в одно время не смогут компенсировать пофигизм в другое. ![][1] _Что общего у зомби-апокалипсиса и разработки ПО? Простые правила помогают пережить и то, и другое_ [Читать дальше →][2]

[1]: https://habrastorage.org/files/707/e11/125/707e1112503d40d7841af24d16e7b7ea.gif
[2]: http://habrahabr.ru/post/272085/#habracut

[>] Образовательные проекты Mail.Ru Group: 4 года, 1206 студентов, 101 преподаватель
habra.15
habrabot(difrex,1) — All
2015-12-03 13:30:02


![][1] Привет, Хабр! Четыре года назад появился проект Технопарк Mail.Ru, о котором мы уже не раз здесь рассказывали (например, [вот][2], [вот][3] и [вот][4]). Принципы, заложенные в его основу, оказались настолько удачными, что за этот короткий период на их базе возникло еще два аналогичных проекта ([Техносфера][5] и [Технотрек][6]). Кроме того, мы начали запускать проекты по модели Технопарка в регионах. Сегодня я расскажу не столько о самом проекте, сколько о порожденных этим проектом смыслах, о том, какие, иногда совсем неожиданные, результаты можно получить. Но начнем мы с идеи, вернее истории ее появления. [Читать дальше →][7]

[1]: https://habrastorage.org/files/910/032/5b3/9100325b361947db8ef345a5a828c518.png
[2]: http://habrahabr.ru/company/mailru/blog/175511/
[3]: http://habrahabr.ru/company/mailru/blog/265463/
[4]: http://habrahabr.ru/company/mailru/blog/250219/
[5]: http://habrahabr.ru/company/mailru/blog/253441/
[6]: https://track.mail.ru/pages/index/
[7]: http://habrahabr.ru/post/272181/#habracut

[>] Третья альфа версия Perspex UI Framework с поддержкой iOS/Android
habra.15
habrabot(difrex,1) — All
2015-12-03 14:30:02


Мы рады представить третью альфа версию Perspex (см. [предыдущий анонс][1]). Perspex — кроссплатформенный UI-фреймворк для .NET с открытым исходным кодом, сделанный по образу и подобию WPF, с XAML, биндингами, шаблонами контролов, собственной системой отрисовки и прочими плюшками. В этом релизе добавлена первоначальная поддержка платформ iOS и Android.




Список изменений под катом. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/267425/
[2]: http://habrahabr.ru/post/272151/#habracut

[>] 10 атак на веб-приложения в действии
habra.15
habrabot(difrex,1) — All
2015-12-03 15:00:06


В настоящее время практически все разработанные и разрабатываемые приложения стремятся стать как можно более доступными для пользователя в сети интернет. В сети размещаются различные приложения для более продуктивной работы и отдыха, такие как Google Docs, калькуляторы, электронные почты, облачные хранилища, карты, погода, новости и т.д… В общем все, что нужно для повседневной жизни. Наши смартфоны практически бесполезны без доступа к интернету, так как почти все мобильные приложения подключаются к облаку, сохраняя там наши фотографии, логины и пароли. Даже большинство домашних устройств постоянно подключено к сети. ![][1] Прикладной уровень является самой надежной защитой. Уязвимости, с которыми мы тут встретимся, зачастую полагаются на сложные сценарии ввода данных пользователем, что делает их трудноопределимыми с помощью систем обнаружения вторжений. Этот уровень — самый доступный извне. Для нормального функционирования приложения должен быть доступ через порт 80 (HTTP) или порт 443 (HTTPS). [Читать дальше →][2]

[1]: https://habrastorage.org/files/8d3/f1e/7f2/8d3f1e7f2e9b4e4f9e03c122d93cb6a9.jpg
[2]: http://habrahabr.ru/post/272205/#habracut

[>] Устойчивая красота неприличных моделей
habra.15
habrabot(difrex,1) — All
2015-12-03 17:30:03


![Титаника на КДПВ нет, он утонул][1]

> — Не могли бы вы построить нам статистическую модель?
>
>
>
> — С удовольствием. Можно посмотреть на ваши исторические данные?
>
>
>
> — Данных у нас ещё нет. Но модель всё равно нужна.
>
>

Знакомый диалог, не правда ли? Далее возможны два варианта развития событий: A. «Тогда приходите, когда появятся данные.» Вариант рассматриваться не будет как тривиальный. Б. «Расскажите, какие факторы по вашему мнению наиболее важны.» Остаток статьи про это. Под катом рассказ о том, что такое improper model, почему их красота устойчива и чего это стоит. Всё на примере многострадального набора данных о выживании пассажиров Титаника. [Читать дальше →][2]

[1]: https://habrastorage.org/files/53a/d1f/d64/53ad1fd64f6549148c3fe004be5ea8d0.jpg
[2]: http://habrahabr.ru/post/272201/#habracut

[>] [recovery mode] Вы все еще храните 404backup.zip на сервере? Я на 200ДА
habra.15
habrabot(difrex,1) — All
2015-12-03 17:30:03


Сумеречными зимними вечерами под песнь вьюги, укутавшись в овечий плед с бокальчиком «яблочной самогонки», я люблю почитывать логи на сервере. Авторизация по ключам упрощает сие, так что если в если в публичное помещение меня и не пустят, то сервер всегда рад приютить, старый чертяга. В мире много чего происходит, у кого счастливое 200, кто-то недоуменно смотрит на 301, кто-то царапает похабщину на 403. Но самый ценных мех — это исследователи. Это те, кто открывает новый для себя мир на основе своих знаний путем проб и 404. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/272261/#habracut

[>] Новость позвала в дорогу: сверхбыстрый энергоэффективный оптический сопроцессор для больших данных
habra.15
habrabot(difrex,1) — All
2015-12-03 18:30:04


![][1] На прошлой неделе Phys.org разразился [новостью][2]: стартап LightOn предложил альтернативу центральным процессорам (CPU) и графическим процессорам (GPU) для решения задач анализа больших данных. Авторский коллектив базируется в университете Пьера и Марии Кюри, Сорбонне и всех прочих правильных местах во Франции. Решение основано на оптической аналоговой обработке данных «со скоростью света». Звучит интересно. Поскольку в пресс-релизе не было никаких научно-технических подробностей, пришлось поискать информацию в патентных базах данных и на сайтах университетов. Результаты расследования под катом. [Читать дальше →][3]

[1]: https://habrastorage.org/files/b53/87e/0ce/b5387e0ce10b4ef3aff69bbb7628cd60.png
[2]: http://phys.org/wire-news/209453189/an-ultrafast-and-low-energy-consumption-optical-co-processor-fo.html
[3]: http://habrahabr.ru/post/272255/#habracut

[>] Приглашаем докладчиков на форум PHDays VI: расскажите о своей кибервойне
habra.15
habrabot(difrex,1) — All
2015-12-03 19:30:02


3 декабря в программе шестого международного форума по практической безопасности Positive Hack Days, который состоится в Москве 17 и 18 мая 2016 года, открывается [Call for Papers][1]. [Программный комитет][2] рассматривает заявки на выступления с докладами как от признанных экспертов в области ИБ, так и от начинающих исследователей. Специалистам по киберугрозам все чаще приходится оказываться по разные стороны баррикад: конкурентная разведка — против DLP, разработчики защитных систем — против таргетированных кибератак, криптографы — против реверсеров, SOC — против продвинутых хакеров. В соответствии с [новой концепцией][3] PHDays мы хотели бы отразить объективное состояние индустрии безопасности в формате Противостояния. [![][4]][5] Со стороны исследователей уязвимостей мы ждем докладов о реальных угрозах и их возможных последствиях. От разработчиков и интеграторов средств безопасности нам хочется услышать не просто рассказы об «инновационных технологиях защиты», а ответы на эти конкретные угрозы. Возможно, вы сталкивались с малоизученными кибератаками и смогли справиться с ними нетривиальными способами? Расскажите о своем опыте с трибуны PHDays. [Читать дальше →][6]

[1]: http://www.phdays.ru/call_for_papers/
[2]: http://www.phdays.ru/program/review-board/
[3]: http://www.phdays.ru/program/review-board/
[4]: https://habrastorage.org/files/328/b50/2b3/328b502b329d4f9798fdf8bf66be37f5.jpg
[5]: http://habrahabr.ru/company/pt/blog/272275/
[6]: http://habrahabr.ru/post/272275/#habracut

[>] Заводим ramlog на дистрибутивах с systemd
habra.15
habrabot(difrex,1) — All
2015-12-03 20:00:03


Из серии «заметки на полях». Больше, чтобы не забыть самому, но, может, кому и пригодится. После закупки Raspberry Pi 2 на смену не прожившему и недели Odroid XU4 началось неспешное шаманство по установке и начальной настройке системы под себя. Каково же было разочарование, когда любимый ramlog отказался не только ставиться , но и запускаться после принудительного «внедрения». Отчаявшись и запросив Гугла, выяснил, что с systemd оно не дружит, от слова «совсем». Уже практически собиравшись городить что-то своё, наткнулся на [один немецкий пост][1], где упоминался «адаптированный» ramlog. Потрошение немедленно скачанного образа показало, что там как раз и было сделано то, что мне и хотелось. Посему, вместо изобретения своего велосипеда, предлагаю воспользоваться уже готовым [по инструкции][2]

[1]: https://www.flurweg.net/raspberry-pi2-debian-server-image-2015-09-01-ca-200mb/
[2]: http://habrahabr.ru/post/272279/#habracut

[>] Let's Encrypt выходит в публичную бету: HTTPS всюду, каждому, отныне и навсегда бесплатно
habra.15
habrabot(difrex,1) — All
2015-12-04 00:00:02


[![Let's Encrypt][1]][2] [**Let's Encrypt**][3] — это некоммерческая инициатива, предоставляющая бесплатный, автоматизированный и открытый CA (certificate authority — центр сертификации), созданный [ISRG][4] на благо общества:

* **бесплатно**: владелец всякого доменного имени может воспользоваться Let's Encrypt и получить **доверенный** (читать как «признаётся любым современным браузером») TLS-сертификат (TLS — наследник SSL) **совершенно бесплатно**;
* **автоматизированно**: Let's Encrypt предоставляет бесплатное и свободное программное обеспечение (клиент), которое, будучи настроенным на веб-сервере, может полностью автоматически запрашивать безвозмездно предоставляемые сертификаты Let’s Encrypt, автоматически конфигурировать и обновлять их;
* **безопасно**: Let’s Encrypt строится как платформа для продвижения [наилучших практик безопасности TLS][5] как на стороне центра сертификации (CA), так и на стороне веб-сайтов, помогая администраторам должным образом настраивать веб-серверы;
* **прозрачно**: информация о выпуске и отзыве каждого сертификата Let's Encrypt доступна вполне и публично так, что любой желающий изучить её сможет это сделать;
* **свободно**: протоколы взаимодействия со CA, позволяющие автоматизировать процессы выпуска и обновления сертификатов, будут опубликованы как открытый стандарт для максимального внедрения;
* **кооперативно**: как и любой протокол, лежащий в основе Интернета и Всемирной паутины, Let’s Encrypt является совместным, неподконтрольным какой-либо конкретной организации некоммерческим проектом созданным исключительно для того, чтобы принести пользу обществу.

[Читать дальше →][6]

[1]: https://letsencrypt.org/images/letsencrypt-logo-horizontal.svg
[2]: https://letsencrypt.org
[3]: https://letsencrypt.org
[4]: https://en.wikipedia.org/wiki/Internet_Security_Research_Group
[5]: #lifetime
[6]: http://habrahabr.ru/post/272253/#habracut

[>] Apple опубликовало исходный код Swift
habra.15
habrabot(difrex,1) — All
2015-12-04 00:30:03


![image][1] Язык Swift был представлен сообществу чуть больше года назад, что вызвало достаточно большой резонанс в среде разработчиков, при том не только iOS и OS X. Но еще больший резонанс вызвал тот факт, что Apple пообещала открыть код компилятора и анонсировала возможность поддержки языка для операционных систем на базе linux. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/308/57a/9b1/30857a9b1efcc7e40dcb77a76fa7f237.jpg
[2]: http://habrahabr.ru/post/272375/#habracut

[>] Используем TSQL для игры в «Судоку»
habra.15
habrabot(difrex,1) — All
2015-12-04 08:00:06


После того как при помощи TSQL была успешна решена [«Балда» (статья)][1] я решил попробовать решить на нем «Судоку» (спасибо за идею [shavluk][2]). Решение судоку получилось на удивление достаточно простым. **Базовая схема имеет следующий вид:** ![][3] [Читать дальше →][4]

[1]: http://habrahabr.ru/post/271795/
[2]: http://habrahabr.ru/users/shavluk/
[3]: https://habrastorage.org/files/54f/5a4/402/54f5a4402afd46258e11e94a17b29577.png
[4]: http://habrahabr.ru/post/272373/#habracut

[>] Доступ к таблицам из Си расширений для Postgres
habra.15
habrabot(difrex,1) — All
2015-12-04 14:00:04


![][1]

#

В этот раз я расскажу не про использование Python или очередной трюк с CSS/HTML и, увы, не про то, как я 5 лет портировал , а про один важный аспект написания расширений для замечательной СУБД PostgresSQL. На самом деле, уже есть достаточно много статей о том, как написать расширение для Postgres на Си (к примеру, [эта][2]), в том числе и на [русском языке][3]. Но, как правило, в них описываются достаточно простые случаи. В этих статьях и инструкциях авторы реализуют функции, которые получают на вход данные, как-то их обрабатывают, а затем возвращают одно число, строку или пользовательский тип. В них нет пояснений, что делать, если из Си кода нужно пробежаться по обычной таблице, существующей в базе, или индексу. К таблицам из Си можно получить доступ через хорошо описанный но медленный [SPI (Server Programming Interface)][4], так же есть очень сложный способ, через буферы, а я расскажу про компромиссный вариант. Под катом я постарался дать примеры кода с подробными пояснениями. [Читать дальше →][5]

[1]: https://habrastorage.org/files/2a6/2dd/a49/2a62dda4945046da953fb7a63baa5cb6.png
[2]: http://www.postgresql.org/docs/devel/static/xfunc-c.html
[3]: http://www.sai.msu.su/~megera/postgres/talks/gist_tutorial.html
[4]: http://www.postgresql.org/docs/9.4/static/spi.html
[5]: http://habrahabr.ru/post/272257/#habracut

[>] [recovery mode] История одной оптимизации: передача и обработка результатов боя
habra.15
habrabot(difrex,1) — All
2015-12-04 14:00:04


Сегодня я расскажу вам о небольшой части большого проекта — [World of Tanks][1]. Многие из вас, наверное, знают World of Tanks со стороны пользователя, я же предлагаю взглянуть на него с точки зрения разработчика. В этой статье речь пойдет об эволюции одного из технических решений проекта, а именно — передаче и обработке результатов боя.



[Читать дальше →][2]

[1]: http://worldoftanks.ru/
[2]: http://habrahabr.ru/post/272265/#habracut

[>] Правда Сноудена
habra.15
habrabot(difrex,1) — All
2015-12-04 14:00:04


Подборка наиболее интересных мыслей, озвученных в фильме «Гражданин четыре: правда Сноудена», который в свою очередь является квинтэссенцией откровений Эдварда Сноудена – бывшего сотрудника АНБ, разоблачившего антидемократическую деятельность правительственных спецслужб. ![][1] Всё началось с письма Эдварда Сноудена журналисту WikiLeaks, Лоре Пойтрас, которая в 2006 году была внесена в секретный список наблюдения, за то что сняла фильм о войне в Ираке. После этого её неоднократно задерживали и допрашивали на американской границе. **Итак, «историческое» письмо Сноудена:** [Читать дальше →][2]

[1]: https://habrastorage.org/files/7b1/139/324/7b11393247d749ddba42cfb87970ccef.jpg
[2]: http://habrahabr.ru/post/272385/#habracut

[>] [Из песочницы] Знакомство с языком программирования Deluge. Создание произвольной функции в системе Zoho CRM
habra.15
habrabot(difrex,1) — All
2015-12-04 17:30:03


В начале 2015 года мною была опубликована [статья про Zoho CRM][1], в которой я описал функционал данной системы, но не рассматривал вопросы ее доработки. Сейчас я решил рассказать о доработках подробнее, так как на практике это оказалось очень актуальным. С системой я работаю уже больше года, и ее часто приходится дорабатывать под те или иные запросы пользователей. Доработки системы Zoho CRM производятся на языке Deluge, разработанном самой компанией Zoho. Deluge интегрирован также в продукт [Zoho Creator][2], но в данной статье мы рассмотрим использование языка именно в Zoho CRM. [Читать дальше →][3]

[1]: http://habrahabr.ru/post/248281/
[2]: https://www.zoho.com/creator/
[3]: http://habrahabr.ru/post/272421/#habracut

[>] Apple опубликовала исходный код Swift
habra.15
habrabot(difrex,1) — All
2015-12-05 00:30:02


![image][1] Язык Swift был представлен сообществу чуть больше года назад, что вызвало достаточно большой резонанс в среде разработчиков, при том не только iOS и OS X. Но еще больший резонанс вызвал тот факт, что Apple пообещала открыть код компилятора и анонсировала возможность поддержки языка для операционных систем на базе linux. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/308/57a/9b1/30857a9b1efcc7e40dcb77a76fa7f237.jpg
[2]: http://habrahabr.ru/post/272375/#habracut

[>] Виртуальный квадрокоптер на Unity + OpenCV (Часть 3)
habra.15
habrabot(difrex,1) — All
2015-12-05 14:30:03


![КПДВ][1] Всем привет! Сегодня я хотел бы продолжить серию о том, как подружить Unity, C++ и OpenCV. А также, как получить виртуальную среду для тестирования алгоритмов компьютерного зрения и навигации дронов на основе Unity. В предыдущих статьях я рассказывал о том, [как сделать виртуальный квадрокоптер в Unity][2] и [как подключить C++ плагин, передать туда изображение с виртуальной камеры и обработать его посредством OpenCV][3]. В этой статье я расскажу как сделать из двух виртуальных камер на квадрокоптере стереопару и как получить карту смещений (disparity map), которую можно использовать для оценки глубины пикселей изображения. [Читать дальше →][4]

[1]: https://habrastorage.org/files/615/d6d/2af/615d6d2af5d64a1b8ee955dae6e5aef8.png
[2]: http://habrahabr.ru/post/267791/
[3]: http://habrahabr.ru/post/269007/
[4]: http://habrahabr.ru/post/271337/#habracut

[>] Тестируем облачную платформу IBM на примере чата
habra.15
habrabot(difrex,1) — All
2015-12-05 15:30:02


![][1] Недавно мне довелось познакомиться с техническим специалистом IBM, который рассказал мне о возможностях сравнительно новой платформы IBM Bluemix, которая должна облегчить жизнь разработчика. На примере простенького чата я решил проверить это утверждение.

----



### Предыстория

Ранее мой опыт работы с платформой был близок к нулю, поэтому чтобы разобраться в огромном количестве сервисов платформы, я снова обратился к своему знакомому из IBM. Мне казалось очевидным использовать сервис Message Hub, но в итоге оказалось, что для решения нашей задачи лучше подойдет MQ Light. Основные причины:

* тариф в бесплатные 10 тысяч сообщений в месяц
* хорошая масштабируемость
* простой в использовании API

[Читать дальше →][2]

[1]: https://habrastorage.org/files/f82/7af/61e/f827af61e7224974b5c3df356f37c65d.png
[2]: http://habrahabr.ru/post/272443/#habracut

[>] Создатели программ-вымогателей и мошеннических сайтов техподдержки объединяются
habra.15
habrabot(difrex,1) — All
2015-12-05 15:30:02




### Пока первые держат файлы в заложниках, вторые выставляют баснословные счета за устранение на компьютере несуществующих проблем

Внимание специалистов Symantec привлекло слияние двух серьезных онлайн угроз, способных вызвать большие проблемы в случае, если интернет-пользователям придется с ними столкнуться. Некоторые веб-сайты, предлагающие весьма сомнительные услуги техподдержки, также используют программы-вымогатели, которые блокируют файлы пользователей, взымая плату за расшифровку. Мошеннические ресурсы техподдержки пытаются убедить пользователей, что на их компьютере обнаружены неполадки, а затем предлагают по завышенной цене программное обеспечение или дополнительные услуги для устранения проблемы. Как правило, механизм запускается при помощи всплывающего сообщения с указанным контактным номером для совершения звонка или ссылкой для скачивания программного обеспечения. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/272451/#habracut

[>] Открытый код и интеллектуальная собственность
habra.15
habrabot(difrex,1) — All
2015-12-05 19:00:02


_Автор: Илья Стечкин_ Мы обратили внимание на то, что едва ли не самой популярной публикацией в нашем блоге стал материал, посвященный [патентным войнам][1] (4800 просмотров), а вот подробный рассказ о том, как писать плагины для Fuel, к нашему удивлению, вызвал существенно меньший интерес (1000 просмотров [первая часть][2] и чуть больше 2000 — вторая). [Читать дальше →][3]

[1]: http://habrahabr.ru/company/mirantis_openstack/blog/248777/
[2]: http://habrahabr.ru/company/mirantis_openstack/blog/264495/
[3]: http://habrahabr.ru/post/272405/#habracut

[>] Security Week 49: б/у сертификаты, кража данных из детских игрушек, Microsoft блокирует нежелательное ПО
habra.15
habrabot(difrex,1) — All
2015-12-05 19:00:02


![][1]На этой неделе ничего не произошло. Ну как, поток новостей о безопасности в IT был обычный — тут взломали, там уязвимость, здесь патч — но без каких-то серьезных откровений. Когда я только начинал вести еженедельный дайджест, мне казалось, что таких недель будет немало, но пока, с августа, получилось всего две: нынешняя и [еще одна][2]. Но вы посмотрите, из чего состоит этот якобы вакуум: — У производителя игрушек украли данные миллионов клиентов, кучу личной информации о детях-владельцах «умных» устройств с камерами и прочим. — Тысячи модемов, роутеров и подобных устройств у многих производителей используют одинаковые сертификаты и ключи для доступа по SSH. — В США бурно обсуждают запросы ФБР в стиле «дайте нам данные и никому не рассказывайте об этом», детали которых впервые были обнародованы с 2001 года, когда такую практику ввели. Нормальное такое «ничего», хотя да, никаких супервзломов не было, ничего капитально не упало, и то хорошо. Впрочем, наши эксперты, подводя [итоги года][3] по самым громким событиям инфобезопасности, никакого снижения активности не видят, скорее наоборот. Ну и мы не будем расслабляться, зима близко. Традиционные правила: каждую неделю редакция новостного сайта [Threatpost][4] выбирает три наиболее значимых новости, к которым я добавляю расширенный и беспощадный комментарий. Все эпизоды сериала можно найти [по тегу][5]. [Читать дальше →][6]

[1]: https://habrastorage.org/files/102/cc5/650/102cc5650f904e8a898049704cbeae63.jpg
[2]: http://habrahabr.ru/company/kaspersky/blog/265219/
[3]: https://securelist.com/analysis/kaspersky-security-bulletin/72886/kaspersky-security-bulletin-2015-top-security-stories/
[4]: https://threatpost.ru/
[5]: http://habrahabr.ru/search/?target_type=posts&q=%5Bklsw%5D%20&order_by=date
[6]: http://habrahabr.ru/post/272413/#habracut

[>] [Из песочницы] Простая система управления компьютерным классом
habra.15
habrabot(difrex,1) — All
2015-12-06 19:00:02


Статья написана для учителей информатики, которым надоело заниматься постоянным восстановлением порядка в классе и на ученических компьютерах. Для тех, кому дорого время и здоровье. Нам понадобится: 1. Установить на все компьютеры класса ОС Linux. Дистрибьютив выбирайте на свой вкус. 2. Установить на все ученические компьютеры пакеты: openbox, tint2, pcmanfm, gxkb, x11vnc (сервер и клиент), vlc 3. Кроме этого на учительском компьютере необходимо установить программу RuleUser, подробнее о ней будет рассказано ниже. 4. Создать на ученических компьютерах пользователя guest. 5. Установить и настроить на всех компьютерах пакет sshd. 6. Скопировать приложенные конфигурационные файлы на ученические и учительский компьютеры. **Примечание.** В этом примере компьютер учителя имеет ip адрес: 192.168.1.100/24. Ученические компьютеры имеют адреса, начиная с 192.168.1.101/24. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/272475/#habracut

[>] Сделай сам: dll hijacking под MS Office для самых маленьких
habra.15
habrabot(difrex,1) — All
2015-12-07 00:00:02


Прошло уже три дня с тех пор, как исследователь Parvez Anwar [опубликовал][1] информацию о множественных dll hijacking уязвимостях в продуктах Microsoft Office, а какой-либо реакции не наблюдается. Ни CVE, ни сообщений на специализированных ресурсах, Windows Update не качает свежих патчей. Что ж, может, так и нужно, может быть, это не уявимость, а особенность продукта? Между тем, эксплуатация этой особенности проста и доступна даже ребенку. И, раз уж производитель пока эту «фичу» не удалил, почему бы не написать о ней небольшую статью. Речь пойдет о Windows 7. Работает ли это на других версиях — мне на текущий момент неизвестно, нужно проверять. Принцип действия описываемого явления (как и многих других, впрочем) основан на старой доброй технологии COM/OLE/ActiveX. [Читать дальше →][2]

[1]: https://twitter.com/ParvezGHH/status/672433593558396929
[2]: http://habrahabr.ru/post/272487/#habracut

[>] Основные законы создания команд разработчиков
habra.15
habrabot(difrex,1) — All
2015-12-07 00:00:02


В EDISON часто обращаются инженеры, желающие добавить сотрудников в команду. Хочется «по-быстрому склепать задачку», воспользовавшись десятком дополнительных разработчиков. Работает ли подобный подход? К сожалению, не всегда. В программировании, как в физике, есть законы. _Собрать толковую команду — настоящее искусство _ [Читать дальше →][1]

[1]: http://habrahabr.ru/post/272483/#habracut

[>] О системном мышлении
habra.15
habrabot(difrex,1) — All
2015-12-07 02:00:02


![][1] Это первый пост из серии про системное мышление и системную инженерию, в которой я постараюсь простым языком описать эти крутые штуки и объяснить зачем они нужны. **Системное мышление** — это практический подход к восприятию мира, который значительно ускоряет способности анализировать, принимать решения и учиться. Практический потому, что сформирован практикой, а не вырос из абстрактных математических теорий. Если вам знакома аббревиатура [ТРИЗ][2], то я бы сказал, что методы ТРИЗ — это набор частных случаев применения системного мышления в физическом производстве. [Читать дальше →][3]

[1]: https://habrastorage.org/files/3fd/ecf/d8b/3fdecfd8b6b5478cb80b0e8acbe67cc4.jpg
[2]: https://ru.wikipedia.org/wiki/Теория_решения_изобретательских_задач
[3]: http://habrahabr.ru/post/272473/#habracut

[>] [Перевод] Перевод: Инструкция по проведению code review
habra.15
habrabot(difrex,1) — All
2015-12-07 10:30:04


![][1]Не так давно мой коллега [переводил][2] интересную статью о code review, перевод хабражителям понравился. А сегодня утром запутанный граф кроссылок вывел [eyeofhell][3] на еще более крутую статью. Вашему вниманию предлагается перевод краткой, но емкой инструкции о том, как делать review чужого кода и пережить review собственного. В отличие от упомянутой выше статьи, эта больше фокусируется на практических аспектах code review и содержит множество полезных рекомендаций как и что делать, чтобы не было мучительно больно. Хинт: чтобы почитать оригинал, кликните на имени автора в плашке под переводом. [осторожно, под катом - много англицизмов!][4]

[1]: https://habrastorage.org/files/232/4cc/55d/2324cc55dac44cd591e903f43c489caa.png
[2]: http://habrahabr.ru/company/Voximplant/blog/270881/
[3]: http://habrahabr.ru/users/eyeofhell/
[4]: http://habrahabr.ru/post/272469/#habracut

[>] Объявлено о начале приема работ на симпозиум CTCrypt'2016
habra.15
habrabot(difrex,1) — All
2015-12-07 10:30:04


С 6 по 8 июня 2016 года в г. Ярославле пройдет пятый международный симпозиум «Современные тенденции в криптографии» [CTCrypt 2016][1]. [Читать дальше →][2]

[1]: http://www.ctcrypt.ru
[2]: http://habrahabr.ru/post/272457/#habracut

[>] Под капотом Redis: Хеш таблица (часть 2) и Список
habra.15
habrabot(difrex,1) — All
2015-12-07 13:30:03


В [первой части][1] я сказал, что хеш таблица это немного _LIST_, _SET_ и _SORTED SET_. Судите сами — _LIST_ состоит из ziplist/linkedlist, _SET_ состоит из dict/intset, а _SORTED SET_ это ziplist/skiplist. Мы уже рассмотрели словарь (dict), а во второй части статьи будем рассматривать структуру ziplist — вторую наиболее часто применимую структуру под капотом Redis. Посмотрим на _LIST_ — вторая часть его «кухни» это простая реализация связного списка. Это пригодится нам, чтобы внимательно рассмотреть часто упоминаемый совет об оптимизацию хеш таблиц через их замену на списки. Посчитаем сколько памяти требуется на накладные расходы при использовании этих структур, какую цену вы платите за экономию памяти. Подведём итоги при работе с хеш таблицами, при использовании кодировки в ziplist. В прошлый раз мы закончили на том, что сохранённые с использованием ziplist 1,000,000 ключей заняли **16 мб** оперативной памяти, тогда как в dict эти же данные потребовали **104 мб **(в 6 раз меньше!). Давайте разбираться какой ценой:



[Читать дальше →][2]

[1]: http://habrahabr.ru/post/271205/
[2]: http://habrahabr.ru/post/272089/#habracut

[>] Опыт разработки аркады под Android на С++ и Qt
habra.15
habrabot(difrex,1) — All
2015-12-07 13:30:03


_Космос сам себя не наложит_

#### **Предпосылки**

Я, как и многие программисты, выбрал эту профессию, потому что в детстве играл в компьютерные игры и мечтал их разрабатывать. Как только я научился более-менее писать код, который может компилироваться без синтаксических ошибок, я, конечно, стал делать всякие глупые игры, которые показывал всем друзьям и знакомым. Но время шло, и оно заставило заниматься совершенно другими вещами, работать над проектами, которые, мягко говоря, серьезней, чем игры. И так продолжалось последние несколько лет. А изначальные желания никуда не делись, исчезло только свободное время. Давно хотел сделать какой-нибудь проект под Android, а, как известно, основная масса проектов разрабатывается на Android SDK и Java, а NDK рекомендуют использовать только в “критичных по скорости” местах и не делать на нем все целиком. Но кому нужны все эти рекомендации и правила, когда есть Qt? Java я не знаю в той степени, которую считаю достаточной для качественной разработки игры, и изучать мне ее не хотелось, зато у меня имеются в запасе знания C++. После нескольких тестовых проектов на Qt под Android я понял, что на нем вполне можно разработать полноценное приложение, да еще и перенести его на другие платформы. Так же, посмотрев видео Shia LaBeouf — Just Do it, стало понятно, что я обречен это сделать. Итак, я хочу рассказать про опыт разработки игры под Android на Qt 5.5.1 и С++. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/272423/#habracut

[>] Разработка торговых систем под FPGA: Плюсы, минусы и анализ архитектуры существующей библиотеки
habra.15
habrabot(difrex,1) — All
2015-12-07 13:30:03


[![][1]][2] Многие торговые платформы для высокочастотного трейдинга часто работают на оборудовании с высокопроизводительными сетевыми адаптерами. Однако минусом таких систем является относительно высокая и непредсказуемая задержка — в итоге многие трейдеры обратили свой взгляд на гибридные архитектуры с аппаратным ускорением. Эксперты компании Algo-Logic Systems Inc. Джон Локвуд (Jowhn W. Lockwood), Адвайт Гупте (Adwait Gupte) и Нишит Мехта (Nishit Mehta) опубликовали [работу][3], в которой рассказали о том, как FPGA используются в онлайн-трейдинге для уменьшения задержек передачи данных. Мы представляем вашему вниманию основные моменты этой публикации. [Читать дальше →][4]

[1]: https://habrastorage.org/files/d29/0fd/d8f/d290fdd8f5774890a40c8a2583f8b7ca.jpg
[2]: http://habrahabr.ru/company/itinvest/blog/272425/
[3]: http://www.researchgate.net/publication/262293285_A_low-latency_library_in_FPGA_hardware_for_High-Frequency_Trading_(HFT)
[4]: http://habrahabr.ru/post/272425/#habracut

[>] Тонкая настройка ACPI на примере Thinkpad X220
habra.15
habrabot(difrex,1) — All
2015-12-07 14:00:03




## Лирика

За прошедшие пару месяцев мне довольно часто приходилось вступать в дискуссии о всевозможных портативных компьютерах: ломать копья в спорах какой производитель лучше и почему, обсуждать совместимость с GNU/Linux и то, как в этой системе настроить ту или иную функцию и, периодически, меня таки просят поделиться конфигами. Под влиянием этих самых обсуждений и родилась данная статья. Большую часть своего компьютерного стажа я пользуюсь лаптопами так называемой «бизнес серии»: IBM ThinkPad 600, HP-Compaq nc2400, Lenovo ThinkPad X61T, Lenovo ThinkPad X220. [![][1]][2] Были кратковременные перерывы, когда приходилось перебиваться абы-чем, то бишь компьютерами потребительского сегмента: Apple ibook G4 и Acer aspire 5112 и именно в эти моменты приходило понимание того, как сильно не хватает таких очевидных и привычных вещей, как трекпоинт и док-станция. [Вот про док-станцию мы сейчас и поговорим.][3]

[1]: https://habrastorage.org/files/ff6/b0b/473/ff6b0b4739004dacb72e366781358f33.jpg
[2]: https://habrastorage.org/files/df8/ded/101/df8ded101560434d9272ef35a0648724.jpg
[3]: http://habrahabr.ru/post/272167/#habracut

[>] [Из песочницы] Редактирование образа Raspberry Pi с помощью qemu-user-static (Ubuntu 14.04)
habra.15
habrabot(difrex,1) — All
2015-12-07 16:30:05


![image][1] Иногда необходимо редактирование стандартных загрузочных образов, а также конфигурирование систем с последующим тиражированием на большое количество плат Raspberry Pi. Для решения подобных задач удобно использовать пакеты qemu-user-static и binfmt-support. [Читать дальше →][2]

[1]: http://prom-electric.ru/media/pi.jpg
[2]: http://habrahabr.ru/post/272523/#habracut

[>] Palantir 101. Что позволено знать простым смертным о второй по крутоcти частной компании в Кремниевой Долине
habra.15
habrabot(difrex,1) — All
2015-12-07 16:30:05


![][1] _(За перевод спасибо Алексею Ворсину)_ Доброе утро и добро пожаловать на GovCon7. Меня зовут Сод Абдулли и я ведущий инженер по внедрению Palantir Technologies и это Palantir 101. Я хотел бы в ближайшие полчаса или сорок пять минут рассказать о том что это, кто мы, что такое Palantir, и что он делает для организаций, с которыми мы работаем, а также, ближе к концу мероприятия, мы проведем небольшую презентацию. Прежде чем перейти ко всему этому, я хочу начать с пары историй, которые должны пролить свет на то, что мы и Palantir, думаем о проблеме анализа в мире Big Data. ![][2] Первая история, — это история о шахматах. Многие из ваз знают, что в 1997 я участвовал в разработке шахматного суперкомпьютера Deep Blue, который одолел Гарри Каспарова, на тот момент, бывшего лучшим шахматистом в мире. Сейчас в простой мобильник могут быть установлены шахматы, играющие на турнирном уровне, и вопрос о том, кто сильнее в шахматах, человек или компьютер, уже не актуален. Новый интересный вопрос: «Что будет, если человек и компьютер будут играть в шахматы вместе, как команда?» Во-первых, такие команды показали высокую эффективность, и, на самом деле, это вполне ожидаемо, так как люди хороши в шахматах, компьютеры очень хороши в шахматах, но хороши они по разным причинам: компьютеры имеют серьезное тактическое преимущество, они могут оценивать многие тысячи комбинаций ежесекундно; у людей есть опыт, способность к трюкам, чутье и умение прочувствовать оппонента, что компьютеру тяжело дается. Эти силы сочетаемы и команда человек/компьютер способна победить и команды сильнейших игроков и объединения сильнейших суперкомпьютеров. [Читать дальше →][3]

[1]: https://habrastorage.org/files/c79/348/950/c793489501cd4abbbe00db3859d13974.jpg
[2]: https://habrastorage.org/files/e25/e46/682/e25e466829384f52b750ff395b80ee90.jpg
[3]: http://habrahabr.ru/post/271883/#habracut

[>] Паранойя и хеши
habra.15
habrabot(difrex,1) — All
2015-12-07 19:00:03


![image][1] Немного защиты от code injection, но Этот способ не панацея, но немного усложняет жизнь иньекций кода.

#### Лирика

Т.к. с каждым скачком высокоуровневого программирования все меньше людей понимают ассемблер, то есть смысл задуматься: А что если программа, которую вы исполняете не является ею? Или, а что если вирус заменяет куски программы, которые вы используете? Умные люди в далеких 80х придумали один рецепт для того, чтобы подтвердить цельность исполнительных файлов и отдельных их кусков — хеши. Обычно все релизы библиотек поставляются с хешом или цифровой подписью, чтобы проверить именно этот ли автор поставляет нам либу, или приложение, не было ли оно изменено никем кроме него. Есть языки (С, C++) которые не поддерживает эту фичу в рантайме (как например в Обероне, в котором есть немного здравых идей, как модули например), но С хорош тем, что с прямыми руками его можно немного доработать напильником. При большом желании можно также доработать С компилятор, но это другая история. Почему не стоит доверять никому? Есть очень много вариантов ответа на этот вопрос. Часть из них в [шуточном виде][2]. [Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/fe7/5a1/3bb/fe75a13bbbd36c015b34a41bb0df990b.jpg
[2]: http://habrahabr.ru/post/241854/
[3]: http://habrahabr.ru/post/272561/#habracut

[>] [Перевод] Случайность в PHP7 – Повезет ли мне?
habra.15
habrabot(difrex,1) — All
2015-12-07 19:30:02


В этой статье мы проанализируем проблемы, относящиеся к генерации случайных чисел, используемых в криптографии. PHP5 не обеспечивает простой механизм генерации криптостойких случайных чисел, в то время как PHP7 решает эту проблему путем введения [CSPRNG][1]-функций.

## Что такое CSPRNG?

Цитируя [википедию][2], криптографически стойкий генератор псевдослучайных чисел (англ. Cryptographically secure pseudorandom number generator, CSPRNG) — это генератор псевдослучайных чисел с определёнными свойствами, позволяющими использовать его в криптографии. CSPRNG в основном используется для следующих целей:

* Генерация ключей (в том числе, генерация public/private ключей)
* Создание случайных паролей для аккаунтов пользователей
* Системы шифрования

Главным аспектом сохранения высокого уровня безопасности является высокое качество случайности.

## CSPRNG в PHP7

PHP7 вводит две новых функции, которые могут быть использованы для CSPRNG: [`random_bytes`][3] и [`random_int`][4]. [Читать дальше →][5]

[1]: https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8_%D1%81%D1%82%D0%BE%D0%B9%D0%BA%D0%B8%D0%B9_%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%BF%D1%81%D0%B5%D0%B2%D0%B4%D0%BE%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D1%8B%D1%85_%D1%87%D0%B8%D1%81%D0%B5%D0%BB
[2]: https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8_%D1%81%D1%82%D0%BE%D0%B9%D0%BA%D0%B8%D0%B9_%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%BF%D1%81%D0%B5%D0%B2%D0%B4%D0%BE%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D1%8B%D1%85_%D1%87%D0%B8%D1%81%D0%B5%D0%BB
[3]: http://php.net/manual/en/function.random-bytes.php
[4]: http://php.net/manual/en/function.random-int.php
[5]: http://habrahabr.ru/post/272509/#habracut

[>] [Перевод] Как устроены дыры в безопасности: переполнение буфера
habra.15
habrabot(difrex,1) — All
2015-12-07 20:30:03




> Прим. переводчика:
>
> _Это перевод статьи Питера Брайта (Peter Bright) «How security flaws work: The buffer overflow» о том, как работает переполнение буфера и как развивались уязвимости и методы защиты_
>
> .
>
>

_Беря своё начало с Червя Морриса (Morris Worm) 1988 года, эта проблема поразила всех, и Linux, и Windows._ Переполнение буфера (buffer overflow) давно известно в области компьютерной безопасности. Даже первый само-распространяющийся Интернет-червь — Червь Морриса 1988 года — использовал переполнение буфера в Unix-демоне finger для распространения между машинами. Двадцать семь лет спустя, переполнение буфера остаётся источником проблем. Разработчики Windows изменили свой подход к безопасности после двух основанных на переполнении буфера эксплойтов в начале двухтысячных. А обнаруженное [в мае сего года][1] переполнение буфера в Linux драйвере (потенциально) подставляет под удар миллионы домашних и SMB маршрутизаторов. По своей сути, переполнение буфера является невероятно простым багом, происходящим из распространённой практики. Компьютерные программы часто работают с блоками данных, читаемых с диска, из сети, или даже с клавиатуры. Для размещения этих данных, программы выделяют блоки памяти конечного размера — буферы. Переполнение буфера происходит, когда происходит запись или чтение объёма данных большего, чем вмещает буфер. На поверхности, это выглядит как весьма глупая ошибка. В конце концов, программа знает размер буфера, а значит, должно быть несложно удостоверится, что программа никогда не попытается положить в буфер больше, чем известный размер. И вы были бы правы, рассуждая таким образом. Однако переполнения буфера продолжают происходить, а результаты часто представляют собой катастрофу для безопасности. Чтобы понять, почему происходит переполнение буфера — и почему результаты столь плачевны — нам нужно рассмотреть то, как программы используют память, и как программисты пишут код. (Примечание автора: мы рассмотрим, в первую очередь, переполнение стекового буфера (stack buffer overflow). Это не единственный вид переполнения, но оно является классическим и наиболее изученным видом) [Читать дальше →][2]

[1]: http://arstechnica.com/security/2015/05/90s-style-security-flaw-puts-millions-of-routers-at-risk/
[2]: http://habrahabr.ru/post/266591/#habracut

[>] Не все cookie одинаково полезны
habra.15
habrabot(difrex,1) — All
2015-12-07 22:00:02


В этой статье я хотел бы рассказать о том, как можно объединить небольшие недочеты в обработке cookie-значений в цепочку, и произвести за счет этого атаку на пользователей популярных веб-приложений. ![image][1] [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/8c5/51b/d1d/8c551bd1de92be5e0d526a22355c0bc9.png
[2]: http://habrahabr.ru/post/272187/#habracut

[>] Microsoft добавил возможность отключения слежения в версиях Windows 10 для корпоративных клиентов
habra.15
habrabot(difrex,1) — All
2015-12-07 22:30:02


Microsoft довольно своеобразно отреагировал на свалившуюся на него со всех сторон критику по поводу слежки за пользователями: как [пишет][1] сайт Techrepublic, новый апдейт популярной ОС позволит пользователям блокировать мониторинг, но только в Enterprise (корпоративной) версии. Об этом радостном событии было объявлено 12 ноября этого года. ![][2] [Читать дальше →][3]

[1]: http://www.techrepublic.com/article/windows-10-now-lets-you-turn-off-tracking-but-only-if-youre-a-business/
[2]: https://habrastorage.org/files/5df/5d2/b14/5df5d2b14ec241f584811e5fe10e5ff1.jpg
[3]: http://habrahabr.ru/post/272591/#habracut

[>] Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 21. «Master Splyntr»
habra.15
habrabot(difrex,1) — All
2015-12-08 12:00:02


![][1]Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «[одного своего знакомого][2]». В книге показывается путь от подростка-гика (но при этом качка), до матерого киберпахана, а так же некоторые методы работы спецслужб по поимке хакеров и кардеров. Квест по переводу книги начался летом в ИТшном лагере для старшеклассников — «[Шкворень: школьники переводят книгу про хакеров][3]», затем к переводу подключились и Хабраюзеры и даже немного редакция. _(Приношу извинения, потерялся перевод 20-й главы, ждать нет сил и буду выкладывать остальные.)_

#### Глава 21. Master Splyntr

_(за перевод спасибо [ungswar][4] )_ Занимая целый этаж зеленого офисного строения на берегу реки Мононгахила, Национальный Альянс Кибер-Криминалистики и Обучения (НАККО) был весьма далек от секретности Вашингтонского разведывательного сообщества, где Муларски делал первые шаги. Здесь дюжины экспертов по безопасности из банков и технологических компаний работали наряду со студентами из близлежащего университета Карнеги-Меллон в кучно расставленных аккуратных кабинках, окруженных кольцом кабинетов и, затем, стенами здания из тонированного стекла. Со стульями Aeron\* и вайтбордами, офис создавал ощущение одной из технологических компаний, которые снабжали НАККО основной частью средств. ФБР внесли несколько изменений перед тем как въехать, переделали один из кабинетов в комнату с электронными коммуникациями, заполнили ее компьютерами одобренными правительством и шифровальным оборудованием, чтобы безопасно коммуницировать с Вашингтоном. В своем кабинете Муларски изучил схему связей Крэбба — почтового инспектора, который прислал ее по e-mail — большая схема показывающая различные связи между 125-ю целями из подполья. Муларски осознал, что он делал все неправильно: ожидал преступления, а потом пытался вычислить виновников. Преступники вовсе не прятались. Они рекламировали свои услуги на форумах. Это делало их уязвимыми, так же, как ритуалы и строгая иерархия Нью-Йоркской и Чикагской мафии, которые дали ФБР инструкцию чтобы сломить банды десятилетия назад. Все что ему надо было сейчас сделать — это присоединиться к кардерам. [Читать дальше →][5]

[1]: https://habrastorage.org/files/353/64b/a0e/35364ba0e409475fbd05cd11e8132734.jpg
[2]: https://en.wikipedia.org/wiki/Max_Butler
[3]: http://habrahabr.ru/post/261491/
[4]: http://habrahabr.ru/users/ungswar/
[5]: http://habrahabr.ru/post/272573/#habracut

[>] Эксплуатация инъекций в Hibernate ORM
habra.15
habrabot(difrex,1) — All
2015-12-08 13:00:03


Доклад на эту тему был представлен на конференции [ZeroNights 0x05][1] на секции FastTrack. Работа оказалась очень актуальной и вызвала большой интерес, поскольку в последнее время проблема эксплуатации HQL-инъекций [интересовала многих security-исследователей, специализирующихся на веб-безопасности][2]. Поэтому я решил написать статью, которая раскрывает дополнительные детали, позволяющие лучше понять результаты работы. Современные приложения, написанные на языке Java, как правило, работают с СУБД не напрямую, а используют Java Persistence API (JPA). JPA – это API, который был добавлен в состав платформ Java SE и Java EE, начиная с Java версии 5, для того, чтобы было удобно сохранять Java-объекты в базу данных и извлекать их из базы данных. Существует большое количество ORM-библиотек (ORM – Object-Relational Mapping) для JAVA, которые реализуют спецификацию JPA. На сегодняшний момент последняя версия спецификации 2.1. Одна из популярных ORM-библиотек — [Hibernate ORM][3]. На данный момент Hibernate является проектом RedHat. Cерверы приложений WildFly и JBoss используют Hibernate в качестве ORM. Hibernate ORM использует объектно-ориентированный язык запросов [Hibernate Query Language (HQL)][4] для написания запросов к сущностям Hibernate, которые хранятся в базе данных. [Читать дальше →][5]

[1]: http://2015.zeronights.ru/
[2]: https://twitter.com/Agarri_FR/status/670176931627851776
[3]: http://hibernate.org/
[4]: https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html
[5]: http://habrahabr.ru/post/272589/#habracut

[>] [Перевод] Что делать, если программировать становится скучно
habra.15
habrabot(difrex,1) — All
2015-12-08 13:00:03


![image][1]_Случалось ли c вами, долго работая в одной компании над одним и тем же проектом, начинаешь задумываться о смене обстановки, используемых технологий и самого проекта. Раньше я был уверен, что из этой ситуации один выход — найти новую работу. Эта статья, перевод которой мы публикуем, поменяла мое мнение. В ней описывается подход, благодаря которому можно сделать работу программиста нескучной и помогающей ему расти и развиваться. Мы, сервис для организации приема платежей [PayOnline][2], предлагаем вам ознакомиться с этой методикой и поделиться ею со своим работодателем, в случае, если вы испытываете подобные, описанные автором проблемы. Ниже идет, непосредственно, перевод._ В мою бытность разработчиком я никогда не задерживался на одной и той же работе более двух лет. В моем случае каждая новая работа была для меня хорошим ходом с точки зрения карьерного роста. И даже несмотря на то, что высокая “текучка” — обычное дело в нашей профессиональной сфере, я не могу сказать, что мои предыдущие работодатели спокойно относились к моему уходу. Некоторые из них упорно пытались сделать так чтобы я остался, но работа становилась для меня настолько скучной, что оставаться я уже не мог. Сразу поясню: мне посчастливилось жить в таких местах, где работы для программистов было больше чем самих программистов. Я понимаю, что вариант со сменой работы доступен не всем. [Читать дальше →][3]

[1]: https://habrastorage.org/files/dca/599/7ab/dca5997abb7d429ab0b8d6760c880816.jpg
[2]: http://payonline.ru/?utm_source=habrahabr&utm_medium=referral&utm_campaign=webpayments-main
[3]: http://habrahabr.ru/post/272609/#habracut

[>] [Перевод] Вызываем обработчики событий потокобезопасно без лишнего присваивания в C# 6
habra.15
habrabot(difrex,1) — All
2015-12-08 13:30:04




## От переводчика

Часто начинающие разработчики спрашивают, зачем при вызове обработчика нужно копировать его в локальную переменную, а как показывает код ревью, даже опытные разработчики забывают об этом. В C# 6 разработчики языка добавили много синтаксического сахара, в том числе null-conditional operator (null-условный оператор или Элвис-оператор — **?.**), который позволяет нам избавиться от ненужного (на первый взгляд) присваивания. Под катом объяснения от Джона Скита — одного из самых известных дот нет гуру. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/272571/#habracut

[>] [Перевод] Самомодифицирующийся код
habra.15
habrabot(difrex,1) — All
2015-12-08 13:30:04


В статье подробно рассказано о самомодифицирующимся коде (СМК), и о том, как его использовать в своих программах. Примеры написаны на C++ с использованием встроенного ассемблера. Ещё я расскажу о том, как выполнять код на стеке, что является существенным козырем при написании и выполнении СМК. ![][1]

### 1\. Вступление

Ну что ж, поехали. Статья обещает быть длинной, так как мне хочется написать её такой, чтобы у вас не возникло никаких вопросов. На тему СМК уже существует миллион статей, но здесь представлено моё видение проблемы – после сотен часов написания СМК… Я попытаюсь впихнуть все свои труды сюда. Всё, хватайте томатный сок (или что вы там предпочитаете пить), делайте музыку громче и готовьтесь узнать, как избавить своё приложение от начинающих кракеров! Попутно, я расскажу вам о памяти Windows и некоторых других вещах, о которых вы даже и не подозреваете. [Читать дальше →][2]

[1]: https://habrastorage.org/files/613/3b0/ab9/6133b0ab9f0b4f368aa49f5712a7b8ae.jpg
[2]: http://habrahabr.ru/post/272619/#habracut

[>] Django: Как быстро получить ненужные дубликаты в простом QuerySet
habra.15
habrabot(difrex,1) — All
2015-12-08 14:00:02


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

# views.py
ids = [5201, 5230, 5183, 5219, 5217, 5209, 5246, 5252, 5164, 5248, ...<и т.д.>...]
products = Product.objects.filter(id__in=ids)


Полученные товары про помощи пагинации выводятся на соответствующей страничке по 20 штук. Однажды звонит менеджер и говорит, что товар «прыгает» по страницам — сначала он был замечен на второй странице, а потом внезапно повторяется на пятой. «Ха» — заявляем мы, ставим брейкпоинт после указанного блока кода и делаем print(products). Визуально и, для верности, циклом проверяем вывод — а там дубликатов нет! [В чём же дело?][1]

[1]: http://habrahabr.ru/post/272559/#habracut

[>] C# WPF – Собственный ListView с «блэкджеком и …»
habra.15
habrabot(difrex,1) — All
2015-12-08 14:00:02




# Введение

Признаем все, что «DotNetFramework» — гениальное изобретение Microsoft, которое предоставляет внушительный набор готовых компонентов и позволяет строить ПО по принципу «LEGO». Но не всегда их достаточно, особенно для специфических задач, требующих либо «особенного быстродействия», либо «особенного способа взаимодействия»… И Microsoft даёт возможность создавать свои компоненты. Итак, хочу поделиться опытом создания собственного ListView-компонента (будем называть так вид компонентов, которые выводят для просмотра список каких-либо объектов) — «по-быстрому» (в условиях, когда надо было ещё вчера). [Читать дальше →][1]

[1]: http://habrahabr.ru/post/272595/#habracut

[>] [Из песочницы] Калибровка Kinect v2 с помощью OpenCV на Python
habra.15
habrabot(difrex,1) — All
2015-12-08 14:00:02


Не так давно мы начали пару проектов, в которых необходима оптическая система с каналом дальности, и решили для этого использовать Kinect v2. Поскольку проекты реализуются на Python, то для начала нужно было заставить работать Kinect из Python, а затем откалибровать его, так как Kinect из коробки вносит некоторые геометрические искажения в кадры и дает сантиметровые ошибки в определении глубины. До этого я никогда не имел дела ни с компьютерным зрением, ни с OpenCV, ни с Kinect. Исчерпывающую инструкцию, как со всем этим хозяйством работать, мне найти тоже не удалось, так что в итоге пришлось порядком повозиться. И я решил, что будет не лишним систематизировать полученный опыт в этой статье. Быть может, она окажется небесполезной для какого-нибудь страждущего,. ![image][1] [Читать дальше →][2]

[1]: https://habrastorage.org/files/fa0/4ae/2d7/fa04ae2d7d414303b1cd224d7416b8f2.png
[2]: http://habrahabr.ru/post/272629/#habracut

Pages: 1 ... 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37