Как стать автором
Обновить
159
0
Денис @dinikin

Java разработчик

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

Встраиваем бэкдор в публичный ключ RSA

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

Привет, %username%!
Когда я увидел, как это работает, сказать, что я был в шоке — ничего не сказать. Это довольно простой трюк но после прочтения этой статьи вы больше никогда не будете смотреть на RSA по-прежнему. Это не взлом RSA, это нечто, что заставит вашу паранойю очень сильно разбухнуть.
Читать дальше →
Всего голосов 135: ↑125 и ↓10+115
Комментарии75

Критическая уязвимость в PolarSSL

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

В популярной на мобильных устройствах библиотеке шифрования PolarSSL была обнаружена уязвимость, позволяющая удаленно выполнить произвольный код через специальным образом подготовленный сертификат. Уязвимость заключается в ошибке при обработке полей ASN.1 сертификата: в функции asn1_get_sequence_of(), указатель на связный список asn1_sequence не инициализируется, что может привести к вызову функции polarssl_free() с неинициализированным указателем и, в конечном итоге, к выполнению вредоносного кода.
Уязвимость проявляется в момент анализа сертификата, а значит, вредоносный код может быть выполнен как на стороне клиента, так и на стороне сервера.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии19

Heartbleed и его друзья в 2015 году: как рекламная сеть ставит под угрозу посетителей сайтов

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


В первый рабочий день нового года хотелось бы обратить внимание владельцев сайтов на рекламу, которую они публикуют. Ваш сайт работает на HTTPS, как и все рекламные скрипты? Вы используете новейшие версии ПО, поддерживаете только безопасные протоколы и наборы шифров? А система рекламы?
Добро пожаловать в 2015 год!
Всего голосов 96: ↑92 и ↓4+88
Комментарии17

Пишите компараторы правильно

Время на прочтение5 мин
Количество просмотров150K
В Java для введения порядка среди определённых объектов можно написать компаратор — класс, содержащий функцию compare, которая сравнивает два объекта. Альтернативой компаратору является естественный порядок объектов: объект реализует интерфейс Comparable, который содержит метод compareTo, позволяющий сравнить этот объект с другим. Сравнивающая функция должна вернуть 0, если объекты равны, отрицательное число (обычно -1), если первый объект меньше второго, и положительное число (обычно 1), если первый больше. Обычно реализация такой функции не представляет сложностей, но имеется один случай, о котором многие забывают.

Сравнение используется различными алгоритмами от сортировки и двоичного поиска до поддержания порядка в сортированных коллекциях вроде TreeMap. Эти алгоритмы завязаны на три важных свойства сравнивающей функции: рефлексивность (сравнение элемента с самим собой всегда даёт 0), антисимметричность (сравнение A с B и B с A должны дать разный знак) и транзитивность (если сравнение A с B и B с C выдаёт одинаковый знак, то и сравнение A с C должно выдать такой же). Если сравнивающая функция не удовлетворяет этим свойствам, алгоритм может выдать совершенно непредсказуемый результат. Причём скорее всего вы не получите никакого исключения, просто результат будет неверный.

Как обнаружилось, несоблюдение этих свойств — не такая уж редкая ситуация. Проблема возникает при сравнении вещественных чисел — float или double.
Читать дальше →
Всего голосов 82: ↑76 и ↓6+70
Комментарии36

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

Время на прочтение1 мин
Количество просмотров12K
Выкладываем доклад мобильного архитектора ТКС Банка Дмитрий Тарасова «Практический пример переиспользования кода. Как повысить качество и ускорить разработку» с конференции мобильных разработчиков #MBLTDev, которая прошла в конце октября.


Презентация

В разработке может сложиться ситуация, когда у вас есть несколько приложений с общей логикой и поведением интерфейса. Дмитрий Тарасов рассказывает о пути, по которому развивалась разработка мобильного банка и кошелька ТКС для Android. Откровенный рассказ о последствиях нетехнологичных решений в стиле copy-paste общего кода из приложения в приложение. Следующий шаг — общая библиотека. Как ее оформить? В виде jar? Оформив, как ее подтягивать в проекты? Grandle или subtree/submodule? Что делать с неравномерным развитием потребителей библиотеки? Решить этот вопрос выстраиванием правил ветвления? Как это вписать в стандартную связку bug tracker — code review — CI (в случае ТКС Jira + Stash + TeamCity)? Что будет, если к изначальным двум приложениям добавится еще два, причем у последнего будет другой backend? Смотрите видео выступления.
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии0

От Facebook HackerCup 2011 до стажировки в Facebook

Время на прочтение6 мин
Количество просмотров66K
Начало

Всем привет! Часто, пробегая утром глазами заголовки на Хабре, я вижу статьи о том, как кто-то уехал учиться зарубеж. И каждый раз я думаю, что пора уже перестать лениться и описать свою историю о том, как я уехал стажироваться в Facebook.
Читать дальше →
Всего голосов 115: ↑111 и ↓4+107
Комментарии92

Путешествия банковской транзакции

Время на прочтение8 мин
Количество просмотров151K
image

Некоторое время назад на Хабре уже мелькали посты о работе банкоматов: один и два, но оба они описывали принципы работы банкоматов и вообще карточного процессинга весьма поверхностно.
Для интересующихся под катом много подробностей работы карточного процессинга банка (много букв).
Читать дальше →
Всего голосов 101: ↑98 и ↓3+95
Комментарии104

Как понять, хорош ли ваш проект для инвестора: чеклист стандартных грабель стартапа

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

Бизнес-ангел часто смотрит на стартаперов с недоумением

Предположим, вы придумали какое-то железо, и теперь хотите начать его производство. У вас уже есть прототип: вот он, в руке, коряво выглядит, в 4 раза больше нормального размера и из него торчит провод. Но он работает. У вас горят глаза: ведь осталось только «допилить» его и начать производить по всему миру. Из маркетингового плана у вас есть только «запостить про железку на Хабр – и всё закрутится».

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

Так вот, я занимаюсь тем, что отбираю стартапы для крупных и действительно крупных инвестиций. Ниже я хочу рассказать вам о том, как оценка проекта выглядит «с той стороны» для компаний, рассчитывающих не «срубить бабла по-быстрому», а готовых вкладываться в длинные проекты.
Читать дальше →
Всего голосов 139: ↑127 и ↓12+115
Комментарии51

Книги, которые должен прочитать Java программист: от новичка до профессионала

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

Книги, которые должен прочитать Java программист: от новичка до профессионала


[Примечание переводчика: термины градации «профессионализма» оставлены англоязычные в связи с трудностью их адекватного перевода на русский и несовпадением с привычными Junior-Middle-Senior-Lead. Перевод достаточно вольный — если знаний языка хватает, то лучше читать оригинал, как и советует автор. Оба языка для меня не родные, так что про ошибки сообщайте в личку — исправим. Здесь и далее в квадратных скобках примечания переводчика]

Я заметил, что в последние месяцы я рекомендую одни и те же книги как новичкам, так и опытным разработчикам. Поэтому я решил составить список этих книг. Они составили мне неплохую компанию в процессе моего роста от новичка до сегодняшнего уровня (какой-бы он не был :) )
Читать дальше →
Всего голосов 90: ↑77 и ↓13+64
Комментарии77

Трансляция прыжка с высоты 36 километров

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


На прошлой неделе с помощью нашего сервиса Ivideon на сайте hi-testing.ru можно было наблюдать появление на свет цыплят в реальном времени. Ребята огромные молодцы, что сумели воплотить в жизнь старую добрую сказку Николая Носова. То, о чем наверняка многие мечтали еще в детстве, но так и не реализовали, когда выросли.

И сейчас я бы хотел рассказать вам о трансляции, которую, к сожалению, делаем не мы, но на которую стоит обратить свое внимание.
Читать дальше →
Всего голосов 103: ↑96 и ↓7+89
Комментарии222

Amazon Glacier: хранилище данных по $0,01 за 1 ГБ в месяц

Время на прочтение1 мин
Количество просмотров34K
Сегодня начал работу новый проект Amazon Glacier: долговременное хранилище в облаке по невысокой цене $0,01 за 1 ГБ в месяц. Идеально подходит для хранения бэкапов и больших архивов, к которым не нужен частый доступ. Извлечение данных из Glacier занимает от 3,5 до 4,5 часов.

Как везде в AWS, пользователь оплачивает только тот объём ресурсов, которые реально использует, никакой абонентской платы. Загрузка и извлечение архивов, мониторинг статуса возможны через Amazon Glacier APIs. Все файлы автоматически шифруются AES 256 и дублируются в разных дата-центрах, прежде чем APIs возвращают ответ SUCCESS.
Читать дальше →
Всего голосов 119: ↑115 и ↓4+111
Комментарии195

Конкурс ВК: Мессенджер для Android. Как это было!?

Время на прочтение3 мин
Количество просмотров35K
Приятного времени суток!

Сколько человек хочет заняться разработкой под Android, но в силу определенных обстоятельств все никак не может начать (у кого-то нет времени, кому-то скучно просто прорешивать примеры, лень, неопределенность)? Сколько человек добавляет каждую, кажущуюся интересной и полезной, статью на хабре в избранное и забивает? До конкурса ВКонтакте на разработку мессенджера под Android, я был среди числа вышеописанных пользователей. Но в один роковой момент все изменилось…
Читать дальше →
Всего голосов 164: ↑153 и ↓11+142
Комментарии64

Сайт Конверсбанка подвергся атаке

Время на прочтение1 мин
Количество просмотров861
В сети появилась информация о том, что старым доменом Конверсбанка http://conversbank.com завладели злоумышленники и разместили там информацию о якобы неплатежеспособности банка.

Читать дальше →
Всего голосов 75: ↑62 и ↓13+49
Комментарии69

Новый взгляд на комментарии. Hypercomments.com — комментируем фрагменты текста

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

О проекте


Что собой представляет стандартный блог или публикация? Комментарии как правило обособлены от текста и пользователям приходится цитировать фрагменты текста, чтобы прокомментировать их. А если спор между читателями завязывается вокруг определенного высказывания в статье, как зачастую бывает на хабре, то только что зашедшему в пост читателю трудно уловить эту интересную часть статьи. Как можно сделать коментарии более контекстными, интерактивными, привлекающими внимание? Хочу поделиться с хабравчанами проектом, который разрабатывает одна из наших команд. Он будет полезен блогерам, интернет-СМИ, да и просто сайтам с большим текстовым контентом. Проект Hypercomments предлагает новый взгляд на комментарии. Комментировать можно как фрагменты текста, так и отдельные слова, картинки. Это позволяет автору оживить статью, увидеть наиболее обсуждаемые, горячие участки текста, сделать содержание статьи более насыщенным за счет активности читателей.




Читать дальше →
Всего голосов 86: ↑81 и ↓5+76
Комментарии74

Брутфорсим номер карты, CVV2 и срок действия при помощи сайта Мастер-Банка

Время на прочтение2 мин
Количество просмотров75K
Чуть больше, чем год назад, я уже писал о уязвимости Мастер-Банка и Вконтакта. Спустя такое время никто так уязвимость и не закрыл, и тем веселее кажется коментарий kibizoidus'а.

Ну что ж, а мы продолжаем. Сегодня мы рассмотрим гораздо более серьезную уязвимость — возможность перебирать реквизиты карт при помощи платёжной страницы того же Мастер-Банка.
Читать дальше →
Всего голосов 105: ↑96 и ↓9+87
Комментарии91

От чего горят датацентры

Время на прочтение3 мин
Количество просмотров1.3K
История произошла на самом деле со мной и ни в коем случае не является моей выдумкой или фантазией.

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

Время как бы остановилось, или если и не остановилось, но тянулось предательски медленно.
Но это казалось только со стороны.
Читать дальше →
Всего голосов 131: ↑122 и ↓9+113
Комментарии39

Как я ловил хакера 2

Время на прочтение3 мин
Количество просмотров27K
Продолжение, начало здесь.

Зайдя на сервер, я увидел открытую страницу банка в браузере, несколько скомпилированных версий популярного вируса, логи апача, который вел мониторинг атаки и открытую терминальную сессию на какой-то сервер с турецким IP с приглашением ввести логин и пароль. По логам апача было ясно, что турецкий сервер является одной из «голов» червя, т.е. центром координации атаки.
Читать дальше →
Всего голосов 236: ↑189 и ↓47+142
Комментарии120

Как я ловил хакера

Время на прочтение2 мин
Количество просмотров44K
Произошло это в начале 2008 года, когда я еще работал в одном крупном украинском банке инженером в IT-департаменте. Только спала новогодняя праздничная суета, и нагрузка на подразделения техподдержки немного поубавилась, как один из подотчетных мне web-серверов сообщил о заканчивающемся на диске месте. Беглый анализ показал, что стремительно росли логи IIS сервера, на котором крутится один из публичных платежных комплексов банка. Мои опасения оправдались – на сервер началась DDOS атака.
Читать дальше →
Всего голосов 431: ↑407 и ↓24+383
Комментарии192
2

Информация

В рейтинге
Не участвует
Откуда
Украина
Зарегистрирован
Активность