Search
Write a publication
Pull to refresh
2
0
Константин @ConstOrVar

Разработчик мобильных приложений

Send message

Классические абстракции используемые в ФП

Level of difficultyMedium
Reading time12 min
Views2.4K

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

Читать статью

$$$$ за полный захват аккаунта (ATO), обход 2FA, утечку конфиденциальных данных через критические ошибки в CORS

Reading time6 min
Views2.2K

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

В этом разборе я покажу вам, как ошибка в конфигурации CORS привела к полному захвату аккаунта (ATO) и обходу двухфакторной аутентификации. Без лишних слов, перейдем к истории.

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

Методология

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

Цель предлагает различные тарифные планы, от бесплатных услуг до корпоративных решений. Я выбрал версию "Pro" и активировал бесплатный пробный период.  

После завершения регистрации я вошел в систему с использованием своих учетных данных и был перенаправлен на страницу. Там я начал изучать различные функции. В настройках профиля я активировал двухфакторную аутентификацию (2FA) и добавил ключ безопасности как дополнительный метод аутентификации, что позволяет входить в систему без ввода пароля каждый раз.  

Читать далее

Мы взломали Google Gemini и скачали его исходный код (частично)

Level of difficultyEasy
Reading time16 min
Views19K

В 2024 году мы выпустили пост We Hacked Google A.I. for $50,000, в котором говорилось, как наша группа в составе Рони «Lupin» Карта (это я), Джозефа «rez0» Тэкера и Джастина «Rhynorater» Гарднера поехала в 2023 году в Лас-Вегас, чтобы искать уязвимости Gemini на проводимом Google мероприятии LLM bugSWAT. В этом году мы повторили нашу поездку…

Читать далее

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

Level of difficultyEasy
Reading time10 min
Views111K

«Вспоминаю, как в 7-м классе ничего не понимал, когда мы начинали разбирать тригонометрию. С учителем мы не смогли найти общий язык, поэтому к 8–9-му классу я был уверен, что никогда не буду заниматься математикой, а уж тем более сидеть по несколько часов в день, утыкаясь в учебники Беклемишева или Кожевникова и параллельно просматривая лекции Физтеха…»

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

Меня зовут Ренат, мне 23 года, я родился в Москве, окончил обычную школу и вплоть до 19 лет не понимал, чем хочу заниматься — что называется «что меня драйвит». Сейчас живу на Кипре, работаю тут аналитиком, продолжаю параллельно учиться в России и скоро заканчиваю там университет.

За последние несколько лет я успел поработать аналитиком в Ozon, затем продуктовым аналитиком в Тинькофф (ныне Т-банк), перешёл в лондонский стартап, а сейчас тружусь над проектами в сфере Trust & Safety. И вот в один прекрасный день я решился «серьёзно ботать математику»: уже несколько месяцев уделяю 10–15 часов в неделю задачам, лекциям и подготовке к поступлению в магистратуру (решая вступительные от МГУ, ВШЭ, МФТИ). Именно об этом пути — как я ищу мотивацию, борюсь с прокрастинацией и стараюсь не выгореть — я и хочу вам рассказать.

Читать далее

Червь, которого не может взломать ни один компьютер

Level of difficultyMedium
Reading time9 min
Views7.6K

Когда я запустила первую симуляцию червя, ветра Санта-Аны дули уже сильно. Я не хакер, но это было просто: открываешь оболочку терминала, вставляешь команды из GitHub и наблюдаешь за бегущим по экрану каскадом символов. Совсем как в фильмах. Пока я искала в пролетающем перед глазами коде узнаваемые слова — neuron, synapse — ко мне подошёл друг, чтобы пойти со мной на ужин. «Секунду. Я тут прогоняю на компьютере червя», — крикнула я ему из офиса.

В корейском ресторане царил хаос: ветер клонил пальмы и гонял магазинные тележки по парковке. Атмосфера казалась сюрреалистичной, похожей на подкаст, проигрываемый с удвоенной скоростью. «Чем ты там занимаешься? Киберпреступлениями?», — спросил друг. Я попробовала ему объяснить: «Нет, не червя типа Stuxnet. Настоящего живого червя».

Когда я добралась домой, было уже темно, а в Альтадене уже загорались первые искорки пожаров. На моём ноутбуке меня ждал червь в объёмной пиксельной коробке. Заострённый с обоих концов, он висел в тумане из частиц, странно прямой и неподвижный. Разумеется, он никогда не был живым. Но мне он казался мертвее мёртвого. «Браво», — сказал мне Стивен Ларсон, когда я написала ему тем же вечером, — «вы добились состояния «hello world» в симуляции».
Читать дальше →

Рекурсивно самовычисляющая Вселенная Стивена Вольфрама – теория всего или теория чего угодно?

Level of difficultyMedium
Reading time46 min
Views14K

В 2020 г. во многих средствах массовой информации писали об очередной «теории всего» – гипотезе рекурсивно самовычисляющей Вселенной. Её автор – известный бизнесмен и программист Стивен Вольфрам, который разработал базу знаний Wolfram Alpha и ПО Mathematica. Особенно большой ажиотаж вызвала статья «Кажется, мы близки к пониманию фундаментальной теории физики, и она прекрасна», переведенная для Хабра уважаемым @SergioShpadi 448-страничный технический документ, загруженный на arxiv.org, называется скромнее: «Класс моделей, потенциально представляющих фундаментальную физику». Он переполнен странными графическими изображениями, но не содержит ни одной математической формулы. Что это вообще такое – наука нового типа или причудливое увлечение миллиардера? Это теория одной или множества вселенных? Как она соотносится с теорией Эверетта и другими интерпретациями квантовой механики? Светит ли ей признание официальной наукой, или она войдёт в историю как образец псевдонаучной (гипер)графомании? Может ли наш мир оказаться подобием Майнкрафта, японского сканворда или головоломки «соедини точки по цифрам»»?

Стивен Вольфрам уже много лет жалуется, что физики его игнорируют и не хотят писать отзывы на его работы. Неужели это признак глобального заговора учёных, не желающих менять старую парадигму мышления? Я не физик и не математик, чтобы делать выводы о корректности всех моделей, но и теория у Вольфрама не такая сложная, чтобы не разобраться в ней без специального образования. На мой взгляд, Вольфрам заслуживает более пристального внимания, ведь его модель весьма показательна как пример того, как далеко можно зайти в поисках дискретной и детерминированной основы физической реальности. Поэтому представляю вам свой философский обзор и объяснение теории рекурсивно самовычисляющей Вселенной на естественном языке.

Читать далее

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

Level of difficultyEasy
Reading time6 min
Views135K

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

На своей первой работе после колледжа я был программистом баз данных, несмотря на то, что мой диплом никак не был связан с компьютерами, да и сегодняшняя профессия тоже. Причина заключалась в том, что университет, в котором я работал, не мог предложить конкурентоспособную зарплату, но имел различные неденежные бонусы, плюс они готовы были обучать любого, обладавшего достаточными для работы знаниями. Я, только что выпустившийся студент Университета Калифорнии, вполне освоил работу как минимум с BSD/386 и SunOS, и, что более важно, имел отличные рекомендации от своего предшественника, получившего повышение. Меня наняли, и это стало их первой ошибкой.

Читать далее

Гори, но не сгорай: как справиться с выгоранием от работы

Level of difficultyEasy
Reading time7 min
Views7.8K

В мире, где успех измеряется количеством выполненных задач и достигнутых вершин, очень легко потерять себя в бесконечном потоке обязательств. Профессиональное выгорание — это не просто «усталость», а сигнал организма, что пора остановиться и задуматься: а где мой личный баланс?

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

Вещаю для вас я, Паркулаб Адель, HR в компании ИдаПроджект. Поехали :)

Читать далее

От Лас-Вегаса до Екатеринбурга: история соревнований Capture The Flag в России и мире

Reading time11 min
Views2.4K

В 1993 году в Лас-Вегасе сотня молодых хакеров собралась на «вечеринку для своих». Никто из них не подозревал, что положил начало движению, которое изменит подход к обучению специалистов по информационной безопасности.

За 30 лет формат Capture The Flag прошел путь от неформальных встреч студентов до масштабных шоу с призами и многочисленными спонсорами. Он завоевал мир, но, похоже, скоро снова вернется в аудитории вузов.

Об истории этого движения расскажет директор по развитию Бастиона Алексей Гришин — член оргкомитета VolgaCTF, одного из трех крупнейших российских CTF-соревнований, и организатор более 40 хакерских ивентов.

Читать далее

Codeby.Games. CTF TASK «ТЕТРИС»/«TETRIS»

Level of difficultyMedium
Reading time4 min
Views610

Приветствую всех любителей CTF и этичного хакинга на стороне Red Team! В этой статье мы рассмотрим прохождение легкого таска "ТЕТРИС", разработанного пентестерами из команды Codeby.Games.

Справка: codeby.games - отечественный условно бесплатный веб-проект, где каждый может попрактиковаться в оттачивании навыков наступательной кибербезопасности. Таски (задания) представлены в широком спектре: начиная от использования методов OSINT и заканчивая компрометацией учебного домена Active Directory. CTF разделяются на три группы - "Легкий", "Средний", "Сложный" в различных категориях. Но подробнее об этом - на официальном сайте проекта.

Задание "Тетрис" находится в категории "Веб". Категория посвящена оттачиванию практических навыков в рамках OWASP Top 10. Цель этого задания - получить доступ к панели администратора веб-приложения и захватить флаг.

Общий план решения CTF выглядит так:

Читать далее

3 вопроса на собеседование о многопоточности в Java

Level of difficultyEasy
Reading time4 min
Views10K

Привет, Хабр!

Сегодня рассмотрим несколько вопросов на собеседовании, которые могут встретиться: чем synchronized отличается от ReentrantLock, что такое happens-before и как оно влияет на volatile и final и почему ConcurrentHashMap.computeIfAbsent() не всегда безопасен?

Читать далее

Никогда не читайте перед обедом книг по специальности

Level of difficultyMedium
Reading time6 min
Views13K

Книги делятся на две категории: fiction и non-fiction. Технические книги — внезапно — не исключение, и поддаются точно такой же классификации. Между учебником по научной дисциплине, начинающегося с аксиоматики и продолжающегося доказательствами теорем, — и практически любой современной литературой по «Computer Science» — лежит пропасть. Что происходит, когда люди долгое время оказываются рабами одной-единственной книги (с продолжениями), нам хорошо известно из истории. Возникает религия.

99% процентов литературы по ООП — это талмуд. Вероятность того, что вам подойдет «паттерн» — примерно 50%. Как встретить динозавра на Невском. Знание паттернов полезно в той же степени, что и теология, — и примерно тем же по специальности людям. Всегда полезно уметь отличать по запаху Пана от простого фавна, но практических применений такой эрудиции — не существует.

Несколько примеров и торжественный вывод

Ужасное состояние двоичной совместимости Linux (и что с ним делать)

Level of difficultyMedium
Reading time20 min
Views19K

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

Читать далее

Мобильная разработка за неделю #581 (24— 30 марта)

Reading time4 min
Views926
В новом дайджесте iOS-разработка в Zed и Picture-in-Picture в 2ГИС, автоматизация версионирования и системные идеи, которые никогда не работают, посудомойка в облаке, дело асинхронного программирования, ускорение Android-сборки и многое другое. Заходите!

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

Исследование уязвимостей LLM-агентов: опыт Red Teaming

Level of difficultyEasy
Reading time11 min
Views2.6K

Привет, Хабр!

Сначала об определениях. LLM Red teaming — практика тестирования больших языковых моделей (например, GPT), направленная на выявление уязвимостей, нежелательного поведения и способов их взлома (jailbreak). Суть в том, чтобы через специальные подсказки или методы обойти защитные механизмы и ограничения LLM.

Большие языковые модели (LLM) сейчас активно применяются для создания AI‑ассистентов и специализированных агентов, отвечающих на запросы и совершающих операции в различных средах (финансовые транзакции, консультирование, управление ресурсами и др.). Вместе с развитием применения растут и риски, связанные с их уязвимостями. Злоумышленники могут использовать специальные атакующие промпты (adversarial prompts), чтобы добиться от модели нежелательных или запрещённых ответов. Методическое выявление таких уязвимостей через Red Teaming позволяет понять, как можно обойти системные инструкции моделей и разработать меры защиты.

В рамках учебного курса «Безопасность ИИ» (так сложилось, что я магистрант AI Talent Hub ИТМО) я провел исследование уязвимостей LLM‑агентов в формате соревнования Red Teaming (на одной из популярных арен, по правилам арены не буду уточнять название). Цель заключалась в том, чтобы различными способами «взломать» защитные механизмы агента и заставить его выполнять нежелательные действия или раскрывать служебную информацию.

Всего в первой волне конкурса было предложено 9 сценариев атак; мне удалось успешно решить все, осуществив в общей сложности 53 успешных джейлбрейка (по разным языковым моделям) — то есть случаев обхода встроенных ограничений. Решил поделиться с Хабром опытом и подробно рассмотреть применённые техники атаки на агентов. Сами модели в рамках арены не раскрываются, но по косвенным признакам можно было понять, что там был и ChatGPT и Claude.

Я классифицировал их по трём группам: приёмы социальной инженерии, обходы фильтров и цензуры и эксплуатация уязвимостей в поведении агентов. Для каждой группы приведены конкретные примеры запросов и ответов модели. В конце статьи хочу обсудить полученные результаты и предложить рекомендации по защите LLM от подобных атак.

Читать далее

Разбираем паттерны конкурентности

Level of difficultyEasy
Reading time4 min
Views7.5K

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

Читать далее

Как я набрал миллион подписчиков на Ютубе. История одного преподавателя

Reading time9 min
Views24K

Привет. Вы меня никогда раньше не видели. Как и один миллион человек, которые регулярно смотрят видео на Простой экономике – канале, который я начал вести пять лет назад. Эти пять лет я жил две жизни.

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

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

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

Меня зовут Николай Мячин, и у меня есть для вас удивительная история.

Читать далее

Все знают, какие приложения установлены у вас в телефоне

Level of difficultyEasy
Reading time8 min
Views17K

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

В 2022 году, с выпуском Android 11, Google удалила этот доступ для разработчиков приложений. Согласно новой политике видимости пакетов, приложения должны видеть другие приложения только в том случае, если те необходимы для их базовой функциональности. Кроме того, разработчики должны явным образом объявлять эти приложения в обязательном для всех приложений Android файле конфигурации AndroidManifest.xml.

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

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

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

Читать далее

SQL HowTo: работаем с массивами (Advent of Code 2024, Day 23: LAN Party)

Level of difficultyEasy
Reading time7 min
Views1.4K

В этой челлендж-серии статей попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2024.

Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.

Применяем простые операции над массивами, чтобы определить связность графов.

Читать далее

Более быстрые хеш-таблицы: претенденты на место SwissTable

Level of difficultyMedium
Reading time11 min
Views15K

24 ноября 2021 года на сайте ArXiv.org была опубликована научная статья «Крошечные указатели» (Tiny Pointers) с описанием новой структуры данных — «крошечных» указателей, которые указывают путь к фрагменту хранимых данных и занимают меньше памяти, чем традиционные указатели.

Осенью 2021 года эту статью заметил Андрей Крапивин (Andrew Krapivin), студент Ратгерского университета в Нью-Джерси, и не придал ей особого значения, пишет Quanta Magazine, журнал о последних достижениях в математике (перевод статьи на Хабре). Только через два года он нашёл время, чтобы внимательно ознакомиться с материалом. И понял, насколько это прорывное изобретение, если применить его для оптимизации хеш-таблиц.

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

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity