• ASP.NET Core: Механизмы предотвращения атак 2.0

      По встроенным механизмам безопасности ASP .NET Core написано мало статей. Даже официальная документация имеет пробелы. В этой статье мы пройдём по всем основным компонентам, имеющим отношение к безопасности, и разберём, как это работает внутри.


      Если вы используете старый добрый ASP .NET, то для вас будет полезна информация по внутреннему устройству компонентов безопасности и лучшим практикам их использования. Здесь вы найдёте ответы на следующие вопросы: как реализованы современные анти-XSS механизмы и как их правильно использовать в ASP .NET Core? Как правильно работать с cookies и какие подводные камни там могут встретиться? Как был переписан механизм защиты от CSRF? Как правильно работать с криптографическими алгоритмами? Кроме того, рассказывается про опыт участия в Bug Bounty по поиску уязвимостей в ASP .NET Core.


      Перед чтением рекомендуется освежить в памяти атаки из списка OWASP Top 10.


      Прототипом статьи является доклад Михаила Щербакова на конференции DotNext 2017 Moscow. Михаил — Microsoft .NET MVP, участник .NET Core Bug Bounty Program, соорганизатор сообщества .NET программистов (Московское комьюнити называется MskDotNet, питерское — SpbDotNet). По работе последние 5 лет занимается безопасностью. Работал в Positive Technologies, в Cezurity, сейчас как консультант работает напрямую с заказчиками, по большей части в этой же сфере. Профессиональные интересы: статический и динамический анализ кода, информационная безопасность, автоматизация отладки кода, исследование внутреннего устройства .NET CLR.


      В этом тексте огромное количество картинок со слайдов. Осторожно, трафик!

      Читать дальше →
      • +52
      • 12,7k
      • 2
    • TOП-10: разбор лучших докладов HolyJS 2017 Moscow

        Действуем по старой схеме: я для вас отсматриваю подряд 10 докладов (бесплатно доступных на YouTube), делаю короткое описание содержимого, чтобы неинтересное можно было выбросить. Кроме того, с сайтов собираю ссылки на слайды и описания. Полученное сортирую и выдаю в порядке увеличения рейтинга — то есть в самом низу будет самый крутой доклад. Оценки — это не лайки на YouTube, а собственная оценочная система, она круче лайков.


        Предыдущие части:



        На этот раз объектом изысканий будет HolyJS 2017 Moscow — известная JavaScript-конференция, четвёртая по счёту. Более 600 JS-разработчиков собрались под одной крышей для того, чтобы обсудить настоящее и будущее JavaScript-сообщества с мировыми экспертами: Douglas Crockford, Lea Verou, Martin Splitt и так далее.


        Осторожно, трафик! В этом посте присутствует огромное количество картинок — слайдов и скриншотов с видео в формате 720p.

        Disclaimer: Все описания являются моим личным мнением. Всё написанное — плод моего больного воображения, а не искажённые цитаты докладчиков (это предостережение написано для того, чтобы докладчики меня не побили).

        Читать дальше →
      • Руководство по фоновой работе в Android. Часть 2: Loaders

        • Перевод
        Это вторая из серии статей об инструментах и методах фоновой работы в Android. Ранее уже были рассмотрены AsyncTask, в следующих выпусках — ThreadPools с EventBus, RxJava 2 и корутины в Kotlin.


        Читать дальше →
        • +23
        • 8,3k
        • 9
      • «Профит велик. Мы получили множество свобод, которыми не обладали раньше», — Владимир Плизга о микросервисах

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


          Сегодня мы поговорим о внедрении микросервисной архитектуры в Центре Финансовых Технологий (ЦФТ) — группе компаний, работающих в области информационных технологий для финансового сектора с 1991 года. То есть это организация, где качество продукта чрезвычайно важно, от него зависят реальные деньги.


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


          Обсуждаемые темы:


          • Зачем нужны микросервисы;
          • Как с ними жить (судьба REST и SOAP, statefull vs. stateless, переход от монолита к микросервисам, совместимость с legacy и многое другое);
          • Микросервисные технологии (Spring Cloud Netflix, Zuul, ...), какие с ними проблемы, что нужно допиливать;
          • Документация: на русском или английском? Написание и генерация документации (Swagger, SpringMVC, SpringFox). Архитектурные диаграммы — нужны ли, в чем рисовать, как хранить;
          • Мониторинг, восстановление от сбоев;
          • Ну и самое главное: стоит ли игра свеч?


          (слева — Владимир, справа — olegchir)

          Читать дальше →
        • «Многое можно решить, помогая стартапу и объясняя, какие ошибки мы уже совершали» — Интервью с Леонидом Игольником



            Гостем очередного выпуска «Без Слайдов» стал Леонид Игольник, бизнес-ангел из Кремниевой Долины, экперт по управлению инженерами и инженерией, осенью по случаю заехавший в Питер на одну из наших конференций. О чем мы поговорили с Лёней:

            • кто такой Леонид Игольник, чем он занимался и занимается;
            • о создании конкурентного преимущества;
            • о стартапах и их выживании;
            • о B2B, бизнесах-платформах и цифровых траснформациях «традиционных» бизнесов;
            • о бизнес-ангелах;
            • о деньгах;
            • о культуре «выращивания» стартапов;
            • об отношении к неудачам в Долине;
            • о том, как формируется цена компании.

            Вот видео:


            Под катом — традиционно, расшифровка. Приятного прочтения!
            Читать дальше →
            • +26
            • 4,8k
            • 3
          • Уязвимости вашего приложения

              Актуальны ли ещё угрозы XSS? Прошло около 20 лет с тех пор, как Cross Site Scripting (XSS) появился как вид атаки. С тех пор мы получили богатый опыт и знания, защита наших сайтов стала намного сложнее, а многочисленные фреймворки были призваны оберегать нас от ошибок. Но последние данные показывают совсем другую картину: в первых кварталах 2017 года количество сообщений об XSS-атаках и количество найденных уязвимостей выросло в несколько раз.


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


              Прототипом статьи является доклад на конференции HolyJS 2017 Moscow. Алексей — фронтенд-тимлид/архитектор в компании EPAM Systems и один из лидеров сообщества FrontSpot в Минске. Основные области профессиональных интересов: архитектура и инфраструктура приложений, управление разработкой.


              В этом тексте огромное количество картинок со слайдов. Осторожно, трафик!

              Читать дальше →
            • Карго-культ вокруг и внутри нас: IT HR и маркетинг

                Совсем недавно я наткнулся на очередное обсуждение DevRel в «Разборе Полетов», в котором услышал странно знакомое слово «карго-культ». Потом оно же всплыло и в Telegram-канале Алексея 23derevo Федорова. Потом еще где-то… Всё это привело меня к мысли, что карго-культ охватил умы людей во всех сферах: от HR до разработки, от выбора диеты до принятия решения о выборе фреймворка или профессионального инструмента.

                Про диеты, пожалуй, говорить не будем, а вот проблему несознательного принятия профессиональных решений хотелось бы обсудить. Еще ниже по тексту расскажу о том, как мы в JUG.ru Group пытаемся с этим явлением бороться, а в комментах можете сказать мне, какой я плохой/хороший, и заодно поделиться своими наблюдениями: замечали ли за собой склонность к «культизму»?

                Под катом нет кода, нет котиков и нет ничего про разработку. Зато есть немного размышлений про маркетинг, HR, философию потребления и принятия решений. А еще там есть анонс нашего открытого семинара Карго Культ, на котором выступит, например, Boomburum.
                Читать дальше →
              • «Конечно, это рискованно, но с должными мерами предосторожности использовать можно»: Крис Талингер о Graal



                  «Жить на Гавайях, работать над суперпопулярным сервисом, внедрить там в продакшне экспериментальную Java-технологию, на которую другие ещё только с опаской поглядывают» — звучит как описание выдуманной Java-карьеры, о которой можно только мечтать. Но есть человек, для которого это всё суровые будни, и мы с ним пообщались.

                  Благодаря Крису Талингеру в Twitter уже вовсю используют новый компилятор Graal, и не просто во имя любви к инновациям: это помогает компании экономить ощутимые суммы. Крис уже делился опытом Twitter в Петербурге на конференции Joker, а теперь приготовил новый доклад, призванный показать обычным Java-разработчикам, как им подступиться к Graal. А в ожидании этого доклада мы расспросили его и об основах Graal, и о том, как теперь в Twitter заходят ещё дальше, и о том, как Крис организовал на Гавайях Java-конференцию LavaOne.

                  Читать дальше →
                  • +39
                  • 8,9k
                  • 9
                • «Когда я стал Android-разработчиком, ещё негде было искать примеры»: интервью с Давидом Гонсалесом



                    Android-разработчики могут знать Давида Гонсалеса в связи с несколькими разными вещами. Например, он участвует в open source-проекте Android Architecture Blueprints, где разные архитектурные подходы демонстрируются на конкретных примерах (недавно проект преодолел рубеж в 25 000 GitHub-звёзд). А также выступает с докладами, занимается бельгийской Kotlin User Group, ранее активно писал блог-посты — в общем, помогает сообществу многими способами, и звание Google Developer Expert неудивительно.

                    Так что в интервью мы тоже расспросили Давида сразу о нескольких темах: начали с Android Architecture Blueprints, перешли к Kotlin, а закончили аутентификацией в Android, которой посвящён его новый доклад.
                    Читать дальше →
                    • +32
                    • 6,5k
                    • 2
                  • Машина времени на Java

                    • Перевод

                    В мире существует множество клёвых маленьких библиотек, которые как бы и не знаменитые, но очень полезные. Идея в том, чтобы потихоньку знакомить Хабр с такими вещами под тэгом #javalifehacker. Сегодня речь пойдёт о time-test, в котором всего 16 коммитов, но их хватает. Автор библиотеки — Никита Коваль, и это перевод его статьи, изначально написанной для блога Devexperts.


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




                    Вот простейший метод, считающий количество дней до конца света:


                    fun daysBeforeDoom() {
                        return doomTime - System.currentTimeMillis()) / millisInDay
                    }
                    Читать дальше →
                  Самое читаемое