• Рассказ о том, как я ворую номера кредиток и пароли у посетителей ваших сайтов

    • Translation
    Продолжение: Рассказ о том, как не дать мне украсть номера кредиток и пароли у посетителей ваших сайтов
    Представляем вам перевод статьи человека, который несколько лет воровал имена пользователей, пароли и номера кредитных карт с различных сайтов.


    То, о чём я хочу рассказать, было на самом деле. Или, может быть, моя история лишь основана на реальных событиях. А возможно всё это — выдумка.

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

    В результате, скрепя сердце, я решил выложить всё начистоту и рассказать всему миру о том, как я в последние несколько лет воровал имена пользователей, пароли и номера кредитных карт с самых разных сайтов. Возможно, вы — администратор или разработчик одного из них.
    Читать дальше →
  • Почему в Украине нет белых хакеров или история взлома Киевстар

      Вот как после недавнего поступка Киевстара можно говорить об этом славном операторе связи и провайдере интернета, что он ценит и уважает труд специалистов?

      image

      Один хакер взломал сайт для абонентов Киевстара и не украл миллион со счетов абонентов сети, а рассказал руководству о том, что он нашёл где программисты схалтурили и сделали ошибку в программном коде, из-за которой любой может добавить чужие мобильные номера к себе в личный кабинет и пользоваться ими как своими: получать детализацию звонков, менять тарифный план, переводить деньги и многое другое.
      Читать дальше →
    • JIT-компилятор оптимизирует не круто, а очень круто

        Недавно Лукас Эдер заинтересовался в своём блоге, способен ли JIT-компилятор Java оптимизировать такой код, чтобы убрать ненужный обход списка из одного элемента:


        // ... а тут мы "знаем", что список содержит только одно значение
        for (Object object : Collections.singletonList("abc")) {
            doSomethingWith(object);
        }

        Вот мой ответ: JIT может даже больше. Мы будем говорить про HotSpot JVM 64 bit восьмой версии. Давайте рассмотрим вот такой простой метод, который считает суммарную длину строк из переданного списка:


        static int testIterator(List<String> list) {
            int sum = 0;
            for (String s : list) {
                sum += s.length();
            }
            return sum;
        }
        Читать дальше →
      • Микросервисы (Microservices)

        От переводчика: некоторые скорее всего уже читали этот титанический труд от Мартина Фаулера и его коллеги Джеймса Льюиса, но я все же решил сделать перевод этой статьи. Тренд микросервисов набирает обороты в мире enterprise разработки, и эта статья является ценнейшим источником знаний, по сути выжимкой существующего опыта работы с ними.

        Термин «Microservice Architecture» получил распространение в последние несколько лет как описание способа дизайна приложений в виде набора независимо развертываемых сервисов. В то время как нет точного описания этого архитектурного стиля, существует некий общий набор характеристик: организация сервисов вокруг бизнес-потребностей, автоматическое развертывание, перенос логики от шины сообщений к приемникам (endpoints) и децентрализованный контроль над языками и данными.
        Читать дальше →
      • Кирилл «isox» Ермаков, главный безопасник QIWI, рассказывает о своей работе, о блеке, об анонимности и о взрослой ИБ




          Есть мнение, что банковские CISO — скучные ребята. Совершенно не умеют работать руками, бесконечно совещаются и вообще занимаются всякой ерундой. Героя сегодняшней истории, isox’а, скучным назвать точно нельзя. Кому-то он известен как топовый багхантер Яндекса, кому-то как создатель открытой базы уязвимостей Vulners, а кому-то — просто как крутейший спец по корпсеку. Isox предельно честно рассказал о своей работе, о блеке, об анонимности и о взрослой ИБ в целом. Итак, знакомься — Кирилл «isox» Ермаков, главный безопасник QIWI!

          Читать далее
        • Пентест-лаборатория Pentestit — полное прохождение



            Компания Pentestit 20-го мая запустила новую, уже девятую лабораторию для проверки навыков практического тестирования на проникновение.

            Лаборатория представляет собой корпоративную сеть, очень похожую на сеть настоящей организации. Благодаря лабораториям Pentestit можно всегда быть в курсе последних уязвимостей и попробовать себя в качестве настоящего пентестера, параллельно обучаясь у профессионалов — тех, кто каждый день занимается тестированием на проникновение в реальных сетях.

            К 1-му июня лаборатория была пройдена — все 13 машин и 14 токенов были взяты. Теперь подошло время описать процесс прохождения лаборатории в полном объеме для всех, кто еще не успел пройти лабораторию, кто хотел бы узнать больше об актуальных уязвимостях, или глубже окунуться в мир тестирования на проникновение.

            Сразу хочу отметить, что процесс прохождения лаборатории получился довольно трудоемким, а его описание — длинным, но, надеюсь, интересным. Начнем!
            Читать дальше →
          • Что не так с безопасностью в Интернете Вещей: Как Shodan стал «поисковиком спящих детей»



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

              Shodan ищет подключенные к сети устройства с открытыми портами. Если подключиться к порту можно без пароля и он транслирует видео, то робот делает скриншот и двигается дальше. Помимо вопросов о правомерности подобных действий со стороны администрации Shodan, новый раздел проекта подчеркивает сегодняшний уровень безопасности Интернета Вещей.
              Читать дальше →
            • Как работает ConcurrentHashMap

                В октябре на хабре появилась замечательная статья про работу HashMap. Продолжая данную тему, я собираюсь рассказать о реализации java.util.concurrent.ConcurrentHashMap.
                Итак, как же появился ConcurrentHashMap, какие у него есть преимущества и как он был реализован.
                Читать дальше →
              • Обзор java.util.concurrent.*

                • Tutorial
                В повседневной работе не так уж часто приходится сталкиваться с пакетом для многопоточности java.util.concurrent. Иногда существуют проектные ограничения по использованию java 1.4.2, где нет данного пакета, но чаще всего хватает обычной синхронизации и не требуется ничего сверхъестественного. К счастью, периодически возникают задачи, заставляющие немного пораскинуть мозгами и либо написать велосипед, либо порыться в javadoc'ах и найти что-то более подходящее. С велосипедом проблем нет — просто берешь и пишешь, благо ничего суперсложного в многопоточности нет. С другой стороны, меньше кода — меньше багов. Тем более, что на многопоточность никто в здравом уме юнит тестов не пишет, т.к. это уже полноценные интеграционные тесты получаются со всеми вытекающими последствиями.

                Что выбрать для конкретного случая? В условиях запарки и deadline'ов довольно сложно охватить весь java.util.concurrent. Выбирается что то похожее и вперед! Так, постепенно, в коде появляются ArrayBlockingQueue, ConcurrentHashMap, AtomicInteger, Collections.synchronizedList(new LinkedList()) и другие интересности. Иногда правильно, иногда нет. В какой то момент времени начинаешь осознавать, что более 95% стандартных классов в java вообще не используются при разработке продукта. Коллекции, примитивы, перекладывание байтиков с одного места на другое, hibernate, spring или EJB, еще какая то библиотека и, вуаля, приложение готово.

                Чтобы хоть как то упорядочить знания и облегчить вхождение в тему, ниже идет обзор классов для работы с многопоточностью. Пишу прежде всего как шпаргалку для себя. А если еще кому сгодится — вообще замечательно.
                Читать дальше →
              • Дюк, вынеси мусор! — Часть 1



                Наверняка вы уже читали не один обзор механизмов сборки мусора в Java и настройка таких опций, как Xmx и Xms, превратилась для вас в обычную рутину. Но действительно ли вы в деталях понимаете, что происходит под капотом вашей виртуальной машины в тот момент, когда приходит время избавиться от ненужных объектов в памяти и ваш идеально оптимизированный метод начинает выполняться в несколько раз дольше положенного? И знаете ли вы, какие возможности предоставляют вам последние версии Java для оптимизации ответственной работы по сборке мусора, зачастую сильно влияющей на производительность вашего приложения?

                Попробуем в нескольких статьях пройти путь от описания базовых идей, лежащих в основе всех сборщиков мусора, до разбора алгоритмов работы и возможностей тонкой настройки различных сборщиков Java HotSpot VM (вы ведь знаете, что таких сборщиков четыре?). И самое главное, рассмотрим, каким образом эти знания можно использовать на практике.
                Узнать
                • +36
                • 106k
                • 7
              • Шпаргалка Java программиста 1: JPA и Hibernate в вопросах и ответах

                • Tutorial
                image

                Знаете ли вы JPA? А Hibernate? А если проверить?

                В чем смысл серии статей 'Шпаргалки Java программиста'
                За время работы Java программистом я заметил, что как правило программисты постоянно и планомерно используют от силы 10-20% от возможностей той или иной технологии, при этом остальные возможности быстро забываются и при появлении новых требований, переходе на новую работу или подготовке к техническому интервью приходится перечитывать все документации и спецификации с нуля. Зато наличие краткого конспекта особенностей тех или иных технологий (шпаргалок) позволяет быстро освежить в памяти особенности той или иной технологии.




                Данная статья будет полезна и для тех кто только собирается изучать JPA и Hibernate (В этом случае рекомендую сразу открывать ответы), и для тех кто уже хорошо знает JPA и Hibernate (В этом случае статья позволит проверить свои знания и освежить особенности технологий). Особенно статья будет полезна тем кто собирается пройти техническое интервью, где возможно будут задавать вопросы по JPA и Hibernate (или сам собирается провести техническое интервью).

                Поехали...
              • Шпаргалка Java программиста 3. Коллекции в Java (стандартные, guava, apache, trove, gs-collections и другие)

                • Tutorial
                Сегодня я хотел бы поговорить о коллекциях в Java. Это тема встречается практически на любом техническом интервью Java разработчика, однако далеко не все разработчики в совершенстве освоили все коллекции даже стандартной библиотеки, не говоря уже о всех библиотеках с альтернативными реализациями коллекций, таких как guava, apache, trove и ряд других. Давайте посмотрим какие вообще коллекции можно найти в мире Java и какие методы работы с ними существуют.



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


                Читать дальше →
              • Тинькофф банк скомпрометировал выписки по счетам клиентов?

                На днях клиенты Тинькофф банка обнаружили занимательный факт – выписки с информацией о движении денег по счетам клентов банк разместил на своем сайте по прямой ссылке. Это оплошность специалистов по информационной безопасности и нарушение банковской тайны или очередной PR-ход известного своими выходками Олега Тинькова?
                Читать дальше →
              • Про модель, логику, ООП, разработку и остальное

                  Часто ли вы задумываетесь – почему что-то сделано так или иначе? Почему у вас микросервисы или монолит, двухзвенка или трехзвенка? Зачем вам многослойная архитектура и сколько у вас вообще слоев? Что такое бизнес-логика, логика приложения, презентационная логика и почему все так разделено? Посмотрите на свое приложение – как оно вообще спроектировано? Что в нем и где находится, почему это сделано именно так?
                  Потому что так написано в книжках или так говорят авторитетные личности? Какие ВАШИ проблемы решает тот или иной подход/паттерн?
                  Даже то, что на первый взгляд кажется очевидным, порой бывает очень сложно объяснить. А иногда, в попытке объяснения, приходит понимание того, что очевидные мысли были и вовсе ошибочны.
                  Давайте попробуем взять какой-нибудь пример и изучить на нем эти вопросы со всех сторон.
                  Читать дальше →
                • Атака «evil maid» на зашифрованный жесткий диск

                  Вчера была опубликована статья, в которой, не без помощи Microsoft, раскрываются интересные подробности о внутренностях BitLocker. Статья длинная и ее содержимое можно резюмировать как «в целом выглядит адекватно, явных уязвимостей вроде не видно». Зато по ссылкам много интересной информации о разных атаках на зашифрованный жесткий диск. Полагаю, хабражителям будет интересно краткое изложение атаки с романтичным названием «evil maid» и ее логическое продолжение. Надежно ли защищена ваша деловая переписка от молодых любопытных таможенников, если в аэропорту солнечной Испании у вас на 10 минут попросили досмотреть ноутбук с зашифрованным жестким диском?
                  Ответ под катом
                • Безопасность сетевой инфраструктуры. Расширенные методы взлома и защиты. Видео

                  • Tutorial


                  Мы решили продолжить нашу традицию публиковать записи наших предыдущих вебинаров для всех желающих с целью повышения уровня осведомленности в ИБ. Не лишним будет отметить, что вебинары составляют примерно 20% от наших программ обучения, основной упор делается на практику. Проверить свои знания вы всегда можете в наших лабораториях тестирования на проникновение, например сейчас для всех желающих открыта бесплатная лаборатория тестирования на проникновение Test lab v.7.

                  Программа курса:

                  Первое занятие — «Инструментарий пентестера»
                  Это занятие представляет из себя небольшой обзор истории появления и развития дистрибутива BackTrack и превращением его в Kali Linux.


                  Читать дальше →
                  • +23
                  • 63.4k
                  • 6
                • Открытая бухгалтерия в Министерстве образования и науки Украины

                    В 2009 Тим Бернерс-Ли в своем выступлении на TED говорил об открытых данных и будущем интернета. На 10 минуте он вместе с залом скандирует «Raw data, now!» (сырые данные, сейчас же). Рекомендую всем, кто этого еще не сделал, посмотреть это выступление.



                    21 февраля 2014 года студенты заняли здание Министерства образование и науки Украины с требованиями перемен. Вместе с политическими требованиями, они выдвинули требования открытой бухгалтерии. Уже 24 марта новый министр подписал указ №85-а о ежедневной публикации всех бухгалтерских проводок за день на сайте министерства. Само по себе открытие данных не должно было занять время, но оказалось, что в МОН фактически не было учетной системы, и, например, главная книга велась на бумаге.

                    Сегодня данные доступны на сайте министерства (UPD: спасибо за новую ссылку sad. Дамп можно скачать по ссылке), а под катом короткая инструкция как обрабатывать данные, кабель на миллион гривен (около 50 тыс. долларов), и почему пока открытая бухгалтерия не так эффективна.
                    Читать дальше →
                  • 10 вещей, которых вы не знали о Java

                    • Translation
                    Итак, вы работаете на Java с самого её появления? Вы помните те дни, когда она называлась «Oak», когда про ООП говорили на каждом углу, когда сиплюсплюсники думали, что у Java нет шансов, а апплеты считались крутой штукой?

                    Держу пари, что вы не знали как минимум половину из того, что я собираюсь вам рассказать. Давайте откроем для себя несколько удивительных фактов о внутренних особенностях Java.
                    Читать дальше →
                  • Scala. Всем выйти из сумрака!

                      А сейчас нужно обязательно дунуть, потому что если не дунуть, то ничего не получится.
                      —Цитаты великих

                      И здравствуйте!

                      Сегодня мы поговорим о неявном в языке Scala. Кто еще не догадался — речь пойдет об implicit преобразованиях, параметрах, классах и иже с ними.Все новички, особенно любители питона с зеновским Explicit is better than Implicit, обычно впадают в кататонический ступор при виде подкапотной магии, творящейся в Scala. Весь компилятор и принципы в целом охватить за одну статью удастся вряд ли, но ведь дорогу осилит идущий?
                      Вот мы и пойдем
                    • Что не договаривают сервисы по защите от DDoS или почему защита не работает

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

                      Тут-то нас и ждало большое удивление — заказчик был абсолютно не защищен.

                      Давайте разберемся что же произошло, но сначала немного теории.
                      Читать дальше →