Как стать автором
Обновить
39
0
Гуменюк Егор @boo1ean

Пользователь

Отправить сообщение

Нейронная сеть против DDoS'а

Время на прочтение7 мин
Количество просмотров40K

Предисловие


Некоторые из вас наверняка недавно проходили Stanford'ские курсы, в частности ai-class и ml-class. Однако, одно дело просмотреть несколько видео-лекций, поотвечать на вопросики quiz'ов и написать десяток программ в Matlab/Octave, другое дело начать применять полученные знания на практике. Дабы знания полученые от Andrew Ng не угодили в тот же тёмный угол моего мозга, где заблудились dft, Специальная теория относительности и Уравнение Эйлера Лагранжа, я решил не повторять институтских ошибок и, пока знания ещё свежи в памяти, практиковаться как можно больше.

И тут как раз на наш сайтик приехал DDoS. Отбиваться от которого можно было админско-программерскими (grep / awk / etc) способами или же прибегнуть к использованию технологий машинного обучения.

Далее пойдёт рассказ о создании нейронной сети на Python 2.7 / PyBrain и её применении для защиты от DDoS'а.

Читать дальше →
Всего голосов 177: ↑174 и ↓3+171
Комментарии46

Опыт составления резюме

Время на прочтение5 мин
Количество просмотров33K

Проблема


Не так давно мне потребовалось обновить своё резюме. Последний раз я это делал несколько лет назад, так что решил написать резюме с нуля.

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

Читать дальше →
Всего голосов 131: ↑107 и ↓24+83
Комментарии215

Особенности отражения DDoS атак и история атаки на один крупный банк

Время на прочтение9 мин
Количество просмотров64K


Раньше DDoS-атаки могли успешно отбиваться на стороне ЦОДа атакуемой компании. Быстрые умные действия админа и хорошее фильтрующее железо гарантировали достаточную защиту от атак. Сегодня услуги ботнетов стремительно дешевеют, и DDoS становится доступен чуть ли не в малом бизнесе.

Около половины атак идут на интернет-магазины или коммерческие сайты компаний в духе «завалить конкурента», почти всегда атакуют сайты СМИ, особенно после «горячих» публикаций, намного чаще, чем кажется, бьют по госсервисам. В России главные цели – банки, розница, СМИ и тендерные площадки. Один из крупных российских банков, например, периодически блокирует трафик из Китая – атаки оттуда приходят с завидной регулярностью, одна из последних была больше 100 Гб/с.

Соответственно, когда атака переваливает, скажем, за 10 Гб/с, отражать её на своей стороне становится проблематично из-за банального забивания канала. Именно в этот момент нужно делать переключение на центр очистки данных, чтобы весь «плохой» трафик отсеивался ещё где-то около магистральных каналов, а не шёл к вам. Сейчас расскажу, как это работает у одного из наших вендоров защитных средств – Arbor, мониторящего около 90 Тбит/сек (45% мирового трафика Интернета).
Читать дальше →
Всего голосов 40: ↑36 и ↓4+32
Комментарии46

Полезные книги для программиста в геймдеве

Время на прочтение2 мин
Количество просмотров102K
Привет, Хабр!
Ничего не писал со времен своей первой статьи, решил, что пора это исправить.

Существует мнение, что про геймдев внятной литературы почти нет, все знания надо получать практическим путем. С моей точки зрения, в этом мнении есть зерно истины, тем не менее, я не могу полностью с ним согласиться.

Ниже я даю рецензии на книжки, которые считаю очень полезными в различных разделах computer science, которые используются в геймдеве. Я намеренно опускаю книги по C++ и алгоритмам: мне кажется, эта тема уже настолько изучена и освещена, что больше про нее не стоит рассказывать.

Я старался покрыть максимальное количество разных топиков, особенно тех, что спрашивают на собеседованиях. Я старался воздерживаться от domain-specific литературы: профессионалы и так знают. Все картинки содержат ссылки на амазон.

А какие книжки нравятся вам?
Также в комментах можете писать, на какие темы вам были бы интересны посты.

Читать дальше →
Всего голосов 67: ↑62 и ↓5+57
Комментарии12

Пара полезных команд, которые могут пригодиться при DDoS и не только

Время на прочтение3 мин
Количество просмотров82K
В моем случае, в качестве frontend сервера, стоит nginx и формат access-лога имеет вид:

log_format main '$remote_addr — $remote_user [$time_local] "$host" "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" -> $upstream_response_time';

Что на выходе дает что-то вроде такой строки:

188.142.8.61 — - [14/Sep/2014:22:51:03 +0400] «www.mysite.ru» «GET / HTTP/1.1» 200 519 «6wwro6rq35muk.ru» «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.191602; .NET CLR 3.5.191602; .NET CLR 3.0.191602» "-" -> 0.003

1. tail -f /var/log/nginx/nginx.access.log | cut -d ' ' -f 1 | logtop

Позволяет получить общую картину: распределение уникальных IP, с которых идут запросы, кол-во запросов с одного IP и т.д.
Самое ценное — что все это работает в режиме реального времени и можно мониторить ситуацию, внося какие-либо изменения в конфигурацию (например просто забанить ТОП 20 самых активных IP через iptables или временно ограничить географию запросов в nginx через GeoIP http://nginx.org/ru/docs/http/ngx_http_geoip_module.html).
Читать дальше →
Всего голосов 105: ↑101 и ↓4+97
Комментарии21

Инвестирование для чайников

Время на прочтение12 мин
Количество просмотров382K
Финансы для чайниковМногие из читателей хабра неплохо зарабатывают (я надеюсь) и имеют возможность покрывать не только текущие расходы, но и тратить деньги на что-то перспективное. Опять же, многие из нас задумываются — как отложить деньги на будущее, дабы они не «сгорели» со временем (задача минимум) и как заставить деньги делать деньги (задача среднемум средняя). И, снова, многие из нас мечтают, чтобы сбережения росли достаточно быстро, чтобы устроить себе пенсию не в 65 лет, а пораньше. Причем в идеале так, чтобы не надо было тратить все свое время на это, а заниматься любимым делом.

Этим вопросами я заинтересовался года два назад. Как оказалось, задача максимум решаема, а мечта о свободном времяпрепровождении до 60 лет вполне реальна. Более того, на Западе популярен подход «asset allocation», который позволяет тратить на вопрос инвестирования до часа в год и иметь на выходе результаты, сравнимые с профессиональными инвесторами. Причем необходимо всего лишь крепко разобраться в базовой информации и не погружаться в пучины технического и фундаментального анализа.

Как оказалось, этот подход доступен и в нашей стране, в нашей действительности. Результатами исследования я хочу поделиться с вами. Да, пока только исследования… Через 30 лет расскажу о результатах практики.

Сейчас я вижу, что, если бы я об этом задумался десять лет назад, я был бы уже на полпути к своей мечте! Как жаль, что я тогда думал только о компьютерах (ну… не только о них, но о финансах уж точно не думал!)… Впрочем, лучше позже, чем совсем-совсем позже.

P. S. Почему «Сделай сам»? Потому что вы сами можете накопить себе неплохие деньги — вы, а не банки, пенсионный фонд или финансовые компании!
UPD. P. P. S. Мои размышления базируются на статье Сергея Спирина «Портфель лежебоки, или как за 12 лет увеличить капитал в 118 раз». Собственно, от него я и узнал про эту инвестиционную стратегию. Я — IT-шник, а не финансист. Посему за подробностями от эксперта — к нему!
Детали, как водится, под катом!
Всего голосов 118: ↑105 и ↓13+92
Комментарии184

Использование принципов психологии для роста конверсии сайтов. Часть 5: эффект лица

Время на прочтение4 мин
Количество просмотров12K
Часть 1
Часть 2
Часть 3
Часть 4

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

Человеческие лица могут увеличить количество переходов двумя способами:

1. Привлечение внимания

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

2. Стимулирование эмоций

Мы все «эксперты» в чтении человеческих эмоций. Если человек на сайте выглядит по-настоящему счастливым или грустным, мы, вероятно, можем ощутить те же чувства. Но будьте осторожны, чрезмерное выражение эмоции создает эффект подделки и недостоверности.
Читать дальше →
Всего голосов 18: ↑12 и ↓6+6
Комментарии3

30 полезных сервисов для веб-разработчика

Время на прочтение2 мин
Количество просмотров163K
Решил собрать сервисы, которые могут быть полезны веб-разработчикам и дизайнерам. Буду рад, если кто-то найдет для себя полезный сервис. Осторожно, под катом куча картинок!
Читать дальше →
Всего голосов 180: ↑156 и ↓24+132
Комментарии48

Перевод учебника по алгоритмам

Время на прочтение1 мин
Количество просмотров166K


Рад сообщить, что вышел перевод отличнейшего учебника Дасгупты, Пападимитриу, Вазирани «Алгоритмы», над которым я работал последние несколько лет. В книге многие алгоритмы объяснены гораздо короче и проще, чем в других учебниках: с одной стороны, без излишнего формализа, с другой — без потери математической строгости. Откройте книгу на каком-нибудь известном вам алгоритме и убедитесь в этом. =)

В общем, угощайтесь: печатный вариант перевода, электронный вариант перевода (PDF), печатный вариант оригинала, электронный вариант оригинала (PDF).
Читать дальше →
Всего голосов 323: ↑321 и ↓2+319
Комментарии109

Автоматизируем щелчки мышкой в Linux: xdotool

Время на прочтение4 мин
Количество просмотров49K
Эта очень короткая заметка на примере активации ключей в Steam описывает процесс автоматизации операций, выполняемых при помощи мыши и клавиатуры.

Допустим, вы купили несколько наборов игр Humble Bundle. Теперь у вас есть, например, 5 ключей для активации в Steam. А может быть 15 или даже 25. Вы очень не хотите активировать их вручную, потому что это слишком муторно: в клиенте Steam нужно каждый раз наводить курсор на меню «Games», щёлкать, потом наводить курсор на пункт меню «Activate a Product on Steam…», опять щёлкать, потом нажимать Enter, потом ещё раз Enter, и только затем наконец-то вводить ключ (а потом нужно подождать, ещё раз нажать Enter, затем Escape). А потом повторять то же самое для каждого последующего ключа. Как писал Леонид Каганов, стоило ли вообще ради такого «прогресса» спускаться с пальмы и брать в руки каменный топор?

В общем, вы решили этот процесс автоматизировать — тем более, что задача-то, на самом деле, очень простая. Для её решения нам потребуются консольные утилиты xdotool и xclip — убедитесь, что они установлены у вас в системе.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии15

Атаки на банковские системы

Время на прочтение4 мин
Количество просмотров54K
Не припоминаю я на Хабре статьи про атаки на банки. Никакой теории и фантазии, реальная практика и скрины

Немного введения. Не так давно я выступал на VI уральском форуме по информационной безопасности банков, где много внимания было уделено новому стандарту ЦБ РФ об обеспечении информационной безопасности банковских систем, на эту же тему был и мой доклад. В стандарте выделено 7 этапов жизни банковских систем (ПО), от написания ТЗ до снятия с эксплуатации. И схема моего доклада была следующей — рассказать некоторые реальные истории атак, проецируя их на новый стандарт от ЦБ, и показывая, как бы он (стандарт) мог «сломать» эти вектора, если бы банки его применяли. А на Хабре я опубликую пересказ своего выступления (осторожно, картинки!). Ах и да — вся информация предоставлена исключительно с целью ознакомления и ни в коем случае не является руководством к действию.
Читать дальше →
Всего голосов 98: ↑90 и ↓8+82
Комментарии54

Защита от DDOS атак средствами BGP

Время на прочтение6 мин
Количество просмотров68K
Сервера, размещенные в сети администрируемой мной AS, часто подвергаются различным DDOS атакам. Целью атакующих могут быть, как отдельные ресурсы размещенные на серверах, сами сервера и вся площадка в целом. С каждым месяцем количество, сложность и мощность атак возрастает. Атаки в 300-400Мб/с выросли до 70-80Гб/с. В этой ситуации не все атаки могут быть отражены тюнингом серверов, а крупные атаки могут помешать работе и всей площадки в целом. Бороться с такими атаками необходимо силами всей команды хостинга. Сетевые администраторы также должны иметь средства борьбы с такими атаками на сетевом уровне. О таких средствах и пойдет речь под катом.
Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии13

Защита от DoS/DDoS атак с помощью фильтрации по номеру автономной системы (ASN)

Время на прочтение9 мин
Количество просмотров31K

Введение


В свете новогодних праздников с их неотъемлемым атрибутом — повышенной активностью DoS/DDoS атак хотелось бы поднять один довольно редко используемый (но при этом довольно эффективный) способ отражения атак — блокировка на основании принадлежности блоков IP адресов определенному провайдеру/Дата Центру.

Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии11

Полезные книги по интернет-торговле и маркетингу

Время на прочтение2 мин
Количество просмотров26K
Сегодня я представляю подборку книг для специалистов занимающихся обслуживанием и рекламой интернет-магазинов. Как правильно писать тексты, оформлять витрины, вести рекламные и PR-кампании в Интернете, обеспечить продвижение вашего проекта в социальных сетях, повысить рейтинг сайта в поисковых системах и многое другое. Книги предназначены как для специалистов, так и для широкого круга читателей. Словом каждый сможет найти в них что-то полезное и применить эти знания на практике.

Скидка по промо-коду «PRIVET» 20%

image image image

image image image

Читать дальше →
Всего голосов 8: ↑6 и ↓2+4
Комментарии6

Конспекты лекций «Haskell как первый язык программирования». Часть1

Время на прочтение3 мин
Количество просмотров47K
image
Привет Habr! Сегодня я достал свои старые конспекты по курсу «Haskell как первый язык программирования» Сергея Михайловича Абрамова и попробую максимально доходчиво и с примерами рассказать об этом замечательном языке тем, кто с ним еще не знаком. Рассказ ориентирован на неподготовленного читателя. Так что, даже если вы впервые услышали слово Haskell…
добро пожаловать под кат.
Всего голосов 35: ↑30 и ↓5+25
Комментарии42

Полезные ресурсы по открытым данным в России

Время на прочтение2 мин
Количество просмотров35K
Для тех кто интересуется открытыми данными, тем что это такое и как с ними работать в этом посте собраны ссылки на открытые данные по России.

Федеральная власть




Регионы и муниципалитеты




Общественные проекты и блоги




Журналистика данных


Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии7

Делаем свой персональный Skype, пошаговая инструкция создания WebRTC приложения

Время на прочтение4 мин
Количество просмотров139K
WebRTC

WebRTC позволяет реализовать real-time аудио/видео связь через браузер (firefox и chrome).

В этом топике я расскажу как реализовать простейшее WebRTC приложение.
Читать дальше →
Всего голосов 102: ↑98 и ↓4+94
Комментарии28

О космической доброте и Челябинском метеорите

Время на прочтение4 мин
Количество просмотров104K
Пока NASA находится в коматозе, самое время рассказать о том, как российская космическая доброта, одержала маленькую победу над российским космическим равнодушием. Сегодня снова поговорим о нашем спутнике Электро-Л, и о том как Хабр может творить маленькие чудеса.

Надеюсь, многие уже знают о российском метеорологическом спутнике Электро-Л, который третий год работает на геостационарной орбите. Я уже неоднократно рассказывал о нем, и демонстрировал результаты его трудов. Сегодня поделюсь еще одной позитивной новостью о спутнике.


Читать дальше →
Всего голосов 395: ↑390 и ↓5+385
Комментарии80

Lock-free структуры данных. 1 — Начало

Время на прочтение12 мин
Количество просмотров148K

Я надеюсь, что эта статья станет началом цикла заметок о lock-free структурах данных. Я хочу поделиться с хабрасообществом своим опытом, наблюдениям и размышлениями о том, что такое lock-free структуры данных, как их реализовывать, подходят ли концепции контейнеров стандартной библиотеки STL к lock-free контейнерам, и когда стоит (и стоит ли вообще) применять lock-free структуры данных.

Читать дальше →
Всего голосов 165: ↑161 и ↓4+157
Комментарии39

Нормальные числа: ликбез

Время на прочтение5 мин
Количество просмотров58K
Не так давно попалась мне на глаза великолепная юмористическая статья про файловую систему, хранящую данные в числе Пи. Бурное обсуждение, развернувшееся в комментариях (кажется, не все его участники поняли шутку), натолкнуло меня на мысль, что тему нормальных чисел неплохо бы обсудить более серьёзно, тем более что тема эта благодатна, полна красивых результатов, нерешённых проблем и прочих кошерных вещей. Если желаете с этими вещами ознакомиться — пожалуйте под кат.

image

Читать дальше →
Всего голосов 116: ↑112 и ↓4+108
Комментарии38

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность