• Бывший разработчик Firefox: удалите сторонние антивирусы

      Разработчик Firefox и хакер Роберт О'Каллахан временно покинул Mozilla, стал свободен от корпоративных обязательств и теперь волен говорить правду без оговорок. Он призвал пользователей к немедленному удалению сторонних антивирусов со своих компьютеров (Windows Defender лучше оставить).

      «Теперь [после ухода из Mozilla] я могу безопасно сказать: разработчики антивирусных программ ужасны; не покупайте антивирусные программы, и удалите уже установленные (кроме Microsoft, если вы под Windows [10]», — заявил Роберт.

      Основные правила безопасности: следить за обновлениями операционной системы, устанавливать последние патчи безопасности. Специалист добавил, что если человеку приходится использовать устаревшие системы Windows 7 или, не дай бог, Windows XP, то сторонние антивирусы всё-таки помогут ему быть не в полной дыре — чувствовать, что есть хоть какая-то защита.
      Читать дальше →
    • Генерируем псевдослучайные ID а-ля Youtube

        Привет, %username%! Бывает необходимо генерировать ID не подряд, причем чтобы они гарантированно не повторялись. На youtube это используется для того, чтобы вы не могли брутфорсом получить все новые и старые видосики, так же это не редкость на разных файлообменниках и вообще везде где нужно предотвратить или хотя бы затруднить возможность прямого перебора значений.


        К примеру, в системе moodle, которая использовалась у нас в универе для тестирования студентов, ID ответов были инкрементными и сквозными на всю базу. Логично предположить, что правильным ответом был тот, что с наименьшим ID в пределах вопроса. В общем, проблем с тестами у нас не было. Потом они перешли на GUID, но я к тому моменту уже выпустился, хехе.

        Давайте рассмотрим несколько способов генерации таких ограниченных по длине последовательностей от самых простых до криптографически стойких.
        Читать дальше →
      • Обширный обзор собеседований по Python. Советы и подсказки

        Всем привет!


        Кратко о себе. По образованию я математик, а вот по профессии — программист. В сфере разработки с 2006 года. Хотя, поскольку программирование начали изучать ещё в школе, свои первые программки и игры я начал писать ещё в школе (примерно, с 2003). Так сложилось, что пришлось выучить и поработать на нескольких языках. Если не брать во внимание ВУЗ-овские лекции по С, С++, Бэйсику, Паскалю и Фортрану, то реально я работал с Delphi (более 6 лет), PHP (более 5 лет), Embedded (Atmel + PIC около 2.5 лет) и последним временем Python + чуть-чуть Scala. Конечно же без баз данных тоже никак не обойтись.


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

        Читать дальше →
      • Государственный университет Адамс. Как взламывать веб-сайты. Часть 1

        • Translation
        Ведущий: благодарю всех за то, что пришли на нашу первую лекцию из серии «Беседы о науке и математике во время обеденного перерыва». Вы получили электронные письма, кроме того, вокруг этого здания кампуса расклеены расписания семи лекций, которые состоятся в этом семестре. Я хочу представить вам доктора Сьюзен Лавленд с факультета компьютерных наук, которая расскажет о том, как взламывать сайты.



        Сьюзен Лавленд: в начале презентации я хочу упомянуть, что хакеры бывают всех оттенков черного и белого цветов. Сегодня я буду играть роль хакера в Черной Шляпе и выступать на темной стороне взлома потому, что быть плохой доставляет намного больше удовольствия, чем хорошей. Есть и хакеры в Белых Шляпах, которые выполняют работу для компаний компьютерной безопасности и занимаются расследованиями в области компьютерной криминалистики. Они пытаются найти уязвимости системы безопасности прежде, чем плохие парни ими воспользуются в своих целях.

        Задача таких хакеров – найти уязвимость, не причиняя вреда приложению, составить отчёт о прорехе в системе безопасности и направить его компании. Сама я никогда не думала о том, чтобы взломать сайт, поэтому привела с собой содокладчика, который подготовил слайды нашей презентации (надевает на себя Чёрную Шляпу).
        Читать дальше →
        • +14
        • 9.1k
        • 3
      • Государственный университет Адамс. Как взламывать веб-сайты. Часть 2

        • Translation
        Государственный университет Адамс. Как взламывать веб-сайты. Часть 1

        Давайте поговорим о нашей следующей атаке. Расскажу, как серверы вас идентифицируют. Для этого между браузером и сервером используется протокол HTTP без сохранения состояния, когда общение с сервером происходит независимыми парами «запрос-ответ». Поэтому сервер вас забывает, как только установлена связь, и при следующем сеансе уже не помнит, кто вы такой.



        Однако он помнит вас, пока вы пользуетесь веб-приложением, потому что когда вы кладёте в корзину вещи, которые собираетесь купить, то можете продолжить покупки и снова вернуться, чтобы просмотреть содержание своей корзины. Реализация «запоминания» происходит при помощи кукиз идентификации сеанса. Как только вы залогинились на сервере, он генерирует файл куки, который представляет собой уникальную последовательность букв и цифр, и отправляет его вашему браузеру, который сохраняет это куки локально на вашем компьютере. После этого браузер возвращает кукиз серверу с каждым вашим запросом на протяжение одного сеанса. Получая эти кукиз, сервер понимает, что за пользователь обращается к нему с данным запросом. Это самый распространенный способ идентификации пользователя, который пользуется веб-приложением.
        Читать дальше →
        • +19
        • 7.3k
        • 4
      • Курс MIT «Безопасность компьютерных систем». Лекция 16: «Атаки через побочный канал», часть 1

        • Translation
        • Tutorial

        Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


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

        Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
        Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
        Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
        Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
        Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
        Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
        Лекция 7: «Песочница Native Client» Часть 1 / Часть 2 / Часть 3
        Лекция 8: «Модель сетевой безопасности» Часть 1 / Часть 2 / Часть 3
        Лекция 9: «Безопасность Web-приложений» Часть 1 / Часть 2 / Часть 3
        Лекция 10: «Символьное выполнение» Часть 1 / Часть 2 / Часть 3
        Лекция 11: «Язык программирования Ur/Web» Часть 1 / Часть 2 / Часть 3
        Лекция 12: «Сетевая безопасность» Часть 1 / Часть 2 / Часть 3
        Лекция 13: «Сетевые протоколы» Часть 1 / Часть 2 / Часть 3
        Лекция 14: «SSL и HTTPS» Часть 1 / Часть 2 / Часть 3
        Лекция 15: «Медицинское программное обеспечение» Часть 1 / Часть 2 / Часть 3
        Лекция 16: «Атаки через побочный канал» Часть 1 / Часть 2 / Часть 3
        Читать дальше →
      • Google Public DNS тихо включили поддержку DNS over TLS



          Внезапно, без предварительного анонса, на 8.8.8.8 заработал DNS over TLS. Ранее Google анонсировал только поддержку DNS over HTTPS.

          Публичный резолвер от компании CloudFlare с IP-адресом 1.1.1.1 поддерживает DNS over TLS с момента запуска проекта.

          Зачем это нужно


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

          C DNS over TLS/HTTPS запросы посылаются внутри зашифрованного тоннеля так, что провайдер не может подменить или просмотреть запрос.

          А с приходом шифрования имени домена в сертификатах X.509 (ESNI) станут невозможны блокировки через DPI по SNI (Server Name Indication, специальное поле, в котором передается имя домена в первом TLS-пакете), которые сейчас применяются у некоторых крупных провайдеров.

          Как это работает


          На порт TCP:853 выполняется TLS-подключение, при этом проверка сертификата резолвера происходит с использованием системных корневых сертификатов, точно так же, как HTTPS в браузере. Это избавляет от необходимости добавлять какие-либо ключи вручную. Внутри тоннеля выполняется обычный DNS-запрос. Это создает меньше накладных расходов по сравнению с DNS over HTTPS, который добавляет HTTP-заголовки к запросу и ответу.

          К сожалению, на текущий момент только в Android 9 (Pie) поддержка DNS over TLS встроена в системный резолвер. Инструкция по настройке для Android 9.

          Для остальных систем предлагается использовать сторонний демон, а системный резолвер направлять на localhost (127.0.0.1).

          Настройка на macOS


          Разберем настройку DNS over TLS на последней версии macOS, на примере резолвера knot
          Читать дальше →
        • Приложение на python kivy для разнообразия рациона питания. От кода и до получения .apk файла для Android

          • Tutorial

          Изучаю python kivy и для себя решил написал маленькое приложение, чтобы разнообразить свое питание. Решил поделиться. Статья рассчитана на новичков в kivy. Приложение занимает около 100 строк кода.

          Цель создания велосипеда приложения:

          1. Избежать частых повторений в питании. Чтобы не употреблять одно и то же блюдо слишком часто.
          2. Не забывать блюда, которые ел, потом забыл и годами к ним не возвращался, потому что банально не помнил. У меня такое бывает.
          Читать дальше →
        • Как стать датасайнтистом, если тебе за 40 и ты не программист

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

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

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



            Сейчас я ведущий аналитик в группе больших данных в QIWI, но еще три года назад я был довольно далек от датасайнс и об искусственном интеллекте слышал только из новостей. Но потом все изменилось, во многом благодаря Coursera и Kaggle.

            Итак, обо всем по порядку.
            Читать дальше →
          • Как попасть в DevOps, как учиться и что читать

              Про DevOps говорят много и разного. Нам же интересно мнение только тех, кто действительно внедряет и следует DevOps принципам. Так удачно сложилось, что в Программный комитет DevOpsConf Russia входят именно такие люди. Воспользовавшись служебным положением, я задал им восемь одинаковых вопросов:

              • Каково главное преимущество DevOps подхода, на твой взгляд?
              • Что больше всего может помешать компании в DevOps трансформации?
              • Как интегрировать специалистов по безопасности в процесс поставки ПО?
              • Как относишься к поднимающемуся хайпу вокруг SRE?
              • Какие инструменты сегодня непременно есть там, где говорят о DevOps?
              • Что отличает хорошего инженера от плохого с точки зрения DevOps?
              • Как логичнее всего попасть в профессию?
              • Как учиться и что читать? Где ты чаще всего сам читаешь новости отрасли?

              Ответы получились очень любопытными и заодно позволяют составить некоторое впечатление о тех, кто вложил много усилий и немножко души в расписание нашей конференции. Например, ответ на первый вопрос шире, чем сокращение time-to-market. Мнения по поводу SRE разошлись, зато все практически единодушно советуют читать «The DevOps Handbook», но и еще надавали кучу рекомендаций — за ними под кат.
              Читать дальше →
            • Iodine: DNS туннель через закрытый WiFi

                Дано: полное отсутствие интернета и виднеющийся WiFi hot-spot, в котором предлагают ввести логин-пароль. Или 3G, в котором нет интернета (потому что закончились деньги), но есть страничка провайдера с предложением дать оных денег.
                Задача: получить интернет (легальным?) методом посредством туннелирования его через DNS.
                Решение: linux+ iodine + routing + NAT + squid, и всё это под управлением network manager'а.
                В статье: описание организации DNS туннеля посредсредством программы iodine, нюансы организации маршрутизации через образовавшийся туннель, самописный помощник для iodine и network manager.

                Лирика: Занесла меня судьба на славный остров Кипр, кой славен своим П/пафосом, фраппэ и таким интернетом, после которого российские опсосы начинают выглядеть ангелами во плоти. В частности, попытка подключиться к интернетам закончилась ожиданием, что местный провайдер (Сyta) смилостивится, таки закончит пить оный фраппэ и дотянет до меня поганый ADSL 4Мб/768кбит всего-навсего за €151 (подключение) + €40 в месяц (за 4 мегабита! >_<). Ожидание тянулось и тянулось (как бы уже третья неделя пошла), а рядом был славный PrimeTel, который предлагал за €4/час (172р/час) осчастливить меня интернетом прямо тут и сейчас через едва видный WiFi. Я бы даже и согласился, но видна точка доступа была только на балконе, а в квартире связь была нестабильной и часто терялась. Так что оставалось одно решение (помимо взлома WEP-сети соседей, что уж совсем уголовщина) — это злоупотребить сервисом DNS, который безвозмездно, то есть даром, предоставляет PrimeTel для своих незарегистрировавшихся подлюченцев.

                Те, кому интересно «howto» — решение далее по тексту, а пока что начнём с теории процесса.
                Читать дальше →
              • Как обойти SMS-идентификацию при подключении к публичным Wi-Fi сетям?

                В 2014 году начали свое действие постановления правительства РФ №758 №801, обязывающие владельцев публичных WiFi сетей настроить на роутерах идентификацию пользователей через паспортные данные, sms или портал гос. услуг. Нежелание владельцев кафе тратиться за Captive portal'ы поспособствовало некоторым провайдерам в распространении своих точек доступа с платной sms-авторизацией. У меня возникло желание проверить, можно ли подобную sms-авторизацию обойти.

                image
                Читать дальше →
              • Мне не страшен ваш NDA

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

                  Это так же как вы неизбежно получите требование вместе с учредительными документами предоставить выписку из ЕГРЮЛ не старше 30 дней. Хотя всё доступно в онлайне, все распечатывают эту выписку из интернета, заверяют её и передают контрагенту, который даже не смотрит её, потому что всё есть в интернете. Ну, вы поняли, короче, отечественную любовь к таинствам.

                  image
                  Читать дальше →
                • Истерия вокруг GDPR

                  • Translation
                  Статья опубликована 18 мая 2018 года

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

                  Эта статья является попыткой успокоить нервы тех, кто чувствует, что (их) мир на грани краха. Вообще, когда дело доходит до каких-либо законов, в том числе этого, главный принцип — Don't Panic. Статья предназначена конкретно для владельцев маленьких и средних компаний, которые активны в интернете и сейчас оказались немного в шоке.

                  Немного о себе: я около десяти лет занимаюсь технической экспертизой для сделок M&A (с командой из восьми человек). Этот опыт, а также убеждённость, что за конфиденциальность в интернете стоит бороться, привели меня к детальному изучению политики конфиденциальности в Сети. В итоге я сейчас отлично понимаю воздействие GDPR и вижу, как компаниям реагировать на новые правила.
                  Читать дальше →
                • Простой failover для вебсайта (мониторинг + динамический DNS)

                  • Tutorial
                  В этой статье я хочу показать, как легко и бесплатно можно сделать failover схему для веб-сайта (или любого другого интернет-сервиса) на комбинации мониторинга okerr и динамического DNS сервиса. То есть, в случае любых проблем с основным сайтом (начиная от проблемы с «PHP Error» на странице, и до нехватки места или просто подозрительно малом числе заказов в случае интернет-магазина), новые посетители будут направлены на второй (третий, и так далее) заведомо работающий сервер, или же на «Sorry» страничку, где им вежливо объяснят, что «есть проблема, мы уже в курсе и уже чиним, скоро починим» (а вы в этом случае на самом деле будете уже в курсе и сможете чинить).
                  Читать дальше →
                • AsyncIO для практикующего python-разработчика

                  • Translation
                  • Tutorial
                  Я помню тот момент, когда подумал «Как же медленно всё работает, что если я распараллелю вызовы?», а спустя 3 дня, взглянув на код, ничего не мог понять в жуткой каше из потоков, синхронизаторов и функций обратного вызова.

                  Тогда я познакомился с asyncio, и всё изменилось.
                  Читать дальше →
                • Сегодня день толстой полярной лисички розницы — ошибка касс Штрих-М по всей стране


                    А я было думал, что больше никогда не увижу ком-9 нуль-модем

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

                    Штрих-М стоят, например, по данным РБК, в Пятёрочках, в Магнитах, в Магнолии, на заправках Газпрома и Роснефти. И у нас.

                    Работать без кассы нельзя. Это нарушение закона. Та же Магнолия около нашего офиса вообще сегодня, как мы увидели, закрылась. Некоторые небольшие сети по всей стране тоже не открывали магазины.
                    Читать дальше →
                  • Модуль nginx для борьбы с DDoS, ставим cookie через Flash

                      После публикации статьи о модуле nginx, предназначенном для борьбы с ботами я получил множество откликов, в которых люди спрашивали о поддержке Flash.
                      Я был уверен, что при должных усилиях желающие могли реализовать эти функции самостоятельно, как сторонние приложения, без изменения кода самого модуля, но никто этого не сделал, поэтому пришлось сделать PoC.
                      Читать дальше →
                      • +27
                      • 8.3k
                      • 9
                    • Как запустить свой проект на Product Hunt: руководство от администрации

                      • Translation
                      Существуют десятки разных постов и статей, буквально каждая из которых претендует на звание «Полного руководства по запуску проекта на Product Hunt». Хотя авторы этих статей руководствуются благими намерениями и большинство их рекомендаций разумны, не все они соответствуют действительности. Этот пост коснётся всего, что могло ввести вас в заблуждение.


                      В этой статье мы расскажем:

                      • Как разместить публикацию на Product Hunt
                      • На чём следует сосредоточиться
                      • Чего стоит избегать
                      • Как подготовиться заранее
                      • Как подавать свой продукт
                      • Бонус: Как сделать так, чтобы о вас рассказали официальные аккаунты Product Hunt в Twitter и Facebook, а также как попасть в рассылку, которую ежедневно получают сотни тысяч читателей (даже после запуска).
                      Читать дальше →
                    • Изучаем блокчейн на практике

                      • Translation
                      • Tutorial
                      Вы читаете эту статью потому, что, как и я, с горячим интересом наблюдаете за возрастающей популярностью криптовалюты. И вам хочется понять, как работает блокчейн — технология, которая лежит в ее основе.

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

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


                      Читать дальше →
                      • +22
                      • 48.9k
                      • 9