Pull to refresh
137
16.1

Редактор

Send message

Разбор задач по CTF

Reading time6 min
Views32K
В начале декабря мы провели командные соревнования по информационной безопасности. Помимо OTUS, организаторами мероприятия для «белых хакеров» выступили Volga CTF и CTF.Moscow. Пожалуй, пришла пора подвести итоги и подробно рассказать о заданиях.

Разбор буткита

Reading time4 min
Views4.1K
Всем привет! В связи с запуском курса «Реверс-инжиниринг» мы провели плановый открытый урок. На нём разобрали алгоритм работы буткита на разных стадиях его загрузки.



Преподаватель — Артур Пакулов, вирусный аналитик в Kaspersky Lab.

Следующая статья носит вступительный характер и представляет собой текстовую версию лишь части урока, которая посвящена установщику буткита. Подробный разбор самого буткита смотрите в видео.
Читать дальше →

Заменяем User Story на Job Story

Reading time5 min
Views32K
Всем привет. Перевели еще один интересный материал для студентов курса «Product Manager IT-проектов». Приятного прочтения




Раньше, я уже писал о проблемах с user story (пользовательскими историями). В те времена я считал, что лучше просто попросить команду обсудить предлагаемые изменения в продукте. Стратегия была хорошей, если команда оказывала помощь, а продукт был уже зрелым. Однако теперь я работаю с новой командой и создаю продукт с нуля. В таком случае перед нами лежит чистый лист и нам непросто прийти к согласию, когда речь заходит о мотивации клиентов, событиях и ожиданиях. На сегодняшний день все изменилось. Я нашел отличный способ использовать философию Jobs To Be Done, чтобы определить функционал продукта. Сегодня мы поговорим о Job Stories.
Читать дальше →

10 практических рекомендаций по безопасности образов Docker. Часть 2

Reading time6 min
Views7.7K
Перевод статьи подготовлен специально для студентов курса «Безопасность Linux».


Читать первую часть


5. Не оставляйте чувствительные данные в образах Docker


Иногда при создании приложения внутри образа Docker вам нужны такие секретные данные, как приватный SSH-ключ для извлечения кода из приватного репозитория или токены для установки закрытых пакетов. Если вы копируете их в промежуточный контейнер Docker, они кэшируются в том слое, к которому они были добавлены, даже если вы удалите их позже. Эти токены и ключи должны храниться вне Dockerfile.
Читать дальше →

ЗА и ПРОТИВ A/B-тестов: опыт крупных компаний

Reading time8 min
Views11K
Привет, хабровчане. Уже завтра мы запускаем курс «Product Manager IT-проектов». В преддверии старта курса спешим поделиться с вами опытом наших действующих преподавателей.




Один из самых популярных инструментов продакт-менеджера — A/B-тесты, и именно этой теме был посвящён очередной вебинар в OTUS. В нём приняли участие сразу три специалиста:

Сергей Колосков — Product Manager в OZON.
Александр Поваров — Product Manager в TransferWise.
Андрей Менде — Product Owner в Booking.com.

Дискуссия получилась содержательной и жаркой. Обсудили:

  • в каких случаях лучше всего применять A/B-тесты?
  • как определять метрики и правильно интерпретировать результаты?
  • как можно навредить A/B-тестами?
  • какие могут быть альтернативы А/В-тестов?
  • чем лучше проводить тестирование?
  • кейсы финтеха, e-commerce и маркетплейсов.

Что интересно — действительно сошлись во мнениях по поводу границ применения А/В-тестов. Но давайте обо всём по порядку.
Читать дальше →

Юнит-тесты на Python: Быстрый старт

Reading time4 min
Views138K
Перевод статьи подготовлен специально для студентов курса «Python QA Engineer».




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

В этой статье я продемонстрирую основную идею юнит-тестирования на одном классе. На практике вам придется писать множество тестовых случаев, добавлять их в тестовый набор и запускать все вместе. Управление тест-кейсами мы рассмотрим в следующей статье.
Читать дальше →

Улучшаем allOf и anyOf в CompletableFuture

Reading time5 min
Views11K


И снова здравствуйте. В преддверии старта курса «Разработчик Java» подготовили для вас перевод полезного материала.


В CompletableFuture есть два метода, дизайн которых меня удивляет:

  • CompletableFuture#allOf
  • CompletableFuture#anyOf


В этой статье мы посмотрим, что с ними не так и как их можно сделать более удобными.
Читать дальше →

Анализ вредоносного кода Skeleton Key

Reading time9 min
Views3.2K
Перевод статьи подготовлен специально для студентов курса «Реверс-инжиниринг».




Краткое содержание


Исследователи Dell SecureWorks Counter Threat Unit (CTU) обнаружили вредоносное ПО, обходящее проверку подлинности в системах Active Directory (AD), в которых реализована однофакторная (только пароль) аутентификация. Злоумышленники могут использовать пароль по своему выбору для аутентификации в качестве любого пользователя. Эта вредоносная программа получила название «Skeleton Key» (универсальный ключ).

Исследователи CTU обнаружили Skeleton Key в клиентской сети, которая использовала однофакторную аутентификацию для доступа к веб-почте и VPN, предоставляя злоумышленникам беспрепятственный доступ к службам удаленного доступа. Skeleton Key развертывается как патч в памяти на контроллерах домена AD жертвы, чтобы позволить злоумышленнику аутентифицироваться в качестве любого пользователя, в то время как легитимные пользователи продолжают аутентификацию как обычно. Обход аутентификации Skeleton Key также позволяет злоумышленникам с физическим доступом залогиниться и разблокировать системы, которые аутентифицируют пользователей на скомпрометированных контроллерах домена AD.
Читать дальше →

Создаем план действий с помощью AWS Cloud Adoption Framework

Reading time2 min
Views1.8K
Перевод статьи подготовлен специально для студентов курса «Cloud Solution Architecture».




Источник
Скачать руководство



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

Как выжить SQL-базе в 21 веке: облака, Kubernetes и PostgreSQL multimaster

Reading time8 min
Views7.5K
Привет, хабровчане. Сегодня стартуют занятия в первой группе курса «PostgreSQL». В связи с этим, хотим рассказать вам о том, как проходил открытый вебинар по данному курсу.




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

Вебинар провёл Валерий Безруков, Google Cloud Practice Delivery Manager в EPAM Systems.
Читать дальше →

RICE: Простая приоритезация для Product-менеджеров

Reading time6 min
Views71K
Перевод статьи подготовлен специально для студентов курса «Product Manager IT-проектов»





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

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

Пентест Active Directory. Часть 1

Reading time6 min
Views30K
Перевод статьи подготовлен специально для студентов курса «Пентест. Практика тестирования на проникновение».




У меня было несколько клиентов, пришедших ко мне перед пентестом с уверенностью в том, что они были в хорошей форме, потому что их анализ уязвимостей не показал критических уязвимостей, и что они готовы к пентесту, лишь за тем, чтобы я получил права администратора домена за пятнадцать минут, просто воспользовавшись ошибками в конфигурациях в AD.
Читать дальше →

Что хотят от кандидатов на собеседовании по написанию кода?

Reading time3 min
Views4.9K
Привет, хабровчане. В преддверии старта курса «Java QA Engineer» делимся с вами продолжением вот этого материала
.




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

Уточнить задание

  • Спросите: «Что вы подразумеваете под словом палиндром?».
  • Это отвечает на вопрос: приступит ли кандидат к решению задачи немедленно — даже не осознавая, что ее технические условия не ясны до конца? Или немного подумает и уточнит требования?»

«Мы имеем в виду такую последовательность, которая читается одинаково слева направо и справа налево. Ваше решение должно быть чувствительно к регистру: маленькая r не идентична большой R».
Читать дальше →

Пишем тренажер слепой печати на чистом JavaScript: Часть 2

Reading time9 min
Views4.4K
Здравствуйте! В преддверии старта курса «Fullstack разработчик JavaScript» один из наших авторов решил поделиться своим опытом создания тренажера для слепой печати. А мы же, в свою очередь, хотим показать данный материал вам и сегодня делимся заключительной его частью.




Первую часть можно почитать здесь
Читать дальше →

16 советов по разработке для андроид на языке Kotlin. Часть 3

Reading time4 min
Views5.1K
И еще раз здравствуйте! В преддверии старта базового курса по Android-разработке, делимся заключительной частью статьи «16 советов по разработке для андроид на языке Kotlin».




Читать первую часть
Читать вторую часть

LATEINIT


Одной из ведущих особенностей Kotlin является его приверженность нулевой безопасности. Оператор lateinit предоставляет простой способ обеспечить нулевую безопасность и инициализировать переменную так, как этого требует Android. Эта функция прекрасна, тем не менее, к ней следует привыкнуть после работы на Java. Одна из идей заключается в том, что поле сразу объявляется с возможностью быть нулевым:

var total = 0 
var toolbar: Toolbar? = null

Читать дальше →

Почему не все ошибки надо исправлять, чтобы сделать ИТ-продукт лучше

Reading time6 min
Views10K
Данный материал подготовлен нашим партнером — компанией «Эквио».



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

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

Мы хотим вам рассказать о том, как разработчики выявляют и исправляют баги, подходят к тестированию. В основе одного из подходов лежит политика Zero Bug Policy. Спойлер! Мы расскажем, на что на самом деле тратят время разработчики и почему они не исправляют все баги.
Читать дальше →

10 практических рекомендаций по безопасности образов Docker. Часть 1

Reading time5 min
Views12K
Перевод статьи подготовлен специально для студентов курса «Безопасность Linux».




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

Итак, начнем с нашего списка из 10 практических рекомендаций по безопасности образов Docker.
Читать дальше →

Как начать заниматься Bug Bounty

Reading time6 min
Views27K
Друзья, в этом месяце Otus запускает набор на новый курс — «Безопасность приложений». В преддверии старта курса традиционно подготовили для вас перевод полезного материала.




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

Я занимаюсь Bug Bounty уже пять лет. Тем не менее, есть множество вещей, которых я не знаю, да и сам я не эксперт, поэтому прошу не считать эту статью советом от эксперта. Я просто поделюсь тем, чего достиг за последние 5 лет, совершенствуя свои навыки день ото дня.

Ищете вакансию тестировщика? Будьте готовы продемонстрировать навыки разработчика

Reading time5 min
Views5.2K
И снова здравствуйте. В преддверии старта курса «Java QA Engineer» подготовили небольшой материал, который станет полезен тем, кто только собирается построить карьеру в данном направлении.




Тестировщик — кто это?


Инженер по контролю качества программного обеспечения (QA) отстаивает интересы конечного пользователя. Он разрабатывает такой процесс тестирования ПО, который гарантирует качество — чтобы продукт не просто удовлетворил, но и превзошел ожидания заказчика.

Выделяют следующие разновидности тестирования:

  1. Ручное. Предполагает ознакомление с продуктом с помощью тех инструментов, которые будет использовать потребитель: клавиатура, мышка, пальцы на тачскрине.
  2. Регрессионное. После добавления новых функций тестировщик должен проверить, сохранило ли приложение свои рабочие свойства, с точки зрения конечного потребителя.
  3. Автоматизированное. Предусматривает написание кода для проверки совпадения ожидаемого и реального поведения приложения.
Читать дальше →

Управление жестами: Обработка визуальных перекрытий. Часть 2

Reading time8 min
Views3.6K
В преддверии старта продвинутого курса по Android-разработке продолжаем делиться с вами серией полезных переводов.





Вы читаете вторую статью из серии об управлении жестами. Первую часть вы можете найти здесь.

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

В этой статье я буду ссылаться на такую вещь, как «UI системы». Именно так называется любой из интерфейсов системы, расположенный на экране, будь то панель навигации или строка состояния. Также в него входит панель уведомлений.
Читать дальше →

Information

Rating
451-st
Location
Россия
Works in
Registered
Activity