Devin will take all our jobs, или we are doomed
Несколько дней назад компания Cognition AI публично выпустила Devin - “первого в мире AI-кодера” за 500$/мес (sic!).
Cognition AI выпустили видео-демо с демонстрацией работы Devin в марте 2024, и “техно-оптимисты” в Твиттере наделали очень много шума типа “програмистам осталось жить 2 месяца, скоро они все потеряют работу”.
Довольно скоро, после релиза промо-ролика вышло несколько разборов их видео-демо, доказывающих, что оно фейковое. Например, вот.
Создатели Devin буквально дали ему real-life задачу с Upworkа, он наделал там кучу херни, ничего не смог, и им пришлось дописывать все самим.
Как я сегодня узнал, спустя 2 месяца, несмотря на это, они получили $175 млн инвестиций при оценке в 2 ярда. Ага.
И вот, спустя полгода, выпустили своего девина за 500$/мес.
Я периодически смотрю стримы PrimeAgen, и вот на днях он купил Devin и стримил, как Devin под его руководством делает простую браузерную игру. Он, если что, программист, и хотя бы тз может дать Devinу четкое и подробное.
На ютубе есть нарезанная запись стрима, и это прямо уморительно: https://youtu.be/927W6zzvV-c
- Devin в течение 2х часов не мог запушить код на мастер-ветку. Без шуток, вот таймстемп аххаха
- Не мог поставить последнюю версию Go и клялся, что ставит последнюю (сначала 1.18, потом 1.21.5, последняя тем временем - 1.23).
Классический “As of my last knowledge update...” :)
- В результате потратил несколько часов на то, чтобы создать простейший вебсокет-сервер, который наверное GPT делает с первого же промпта
Ну и в качестве вишенки на торте: Devin создает веб-страницу для доступа к его VS Code, которая выглядит вот так:
https://vscode-pnmnamfostfnomvt.devinapps.com/
Прямо во время стрима оказалось, что любой человек, знающий ссылку, получает полный доступ к Devin и к репозиторию, над которым он работает (=ваш репозиторий), и может делать с ним все что хочет, без какой либо авторизации.
Более того, узнать все субдомены вида vscode-*.devinapps.com не особо сложно, и кто-то в чате сделал это пока шел стрим)
Cognition спустя пару часов пофиксили этот баг.
Как человека, который последние полгода довольно активно пользуется Cursor, меня не удивляет “тупеж” Devina - AI пишет очень некачественный код, постоянно удаляет существующий, в общем, требует постоянного битья палкой после каждой правки.
Что меня удивляет, так это то, что AI-стартапу, который поймали на пиздеже в марте, дали просто тонну денег в мае, чтобы в декабре он релизнул крайне небезопасный курсор за 500$/мес, который пушит коммит 2 часа. И люди продолжают это хавать, реально сходят с ума и уже пишут как они сейчас “перестанут брать на работу джунов”.
Несколько дней назад компания Cognition AI публично выпустила Devin - “первого в мире AI-кодера” за 500$/мес (sic!).
Cognition AI выпустили видео-демо с демонстрацией работы Devin в марте 2024, и “техно-оптимисты” в Твиттере наделали очень много шума типа “програмистам осталось жить 2 месяца, скоро они все потеряют работу”.
Довольно скоро, после релиза промо-ролика вышло несколько разборов их видео-демо, доказывающих, что оно фейковое. Например, вот.
Создатели Devin буквально дали ему real-life задачу с Upworkа, он наделал там кучу херни, ничего не смог, и им пришлось дописывать все самим.
Как я сегодня узнал, спустя 2 месяца, несмотря на это, они получили $175 млн инвестиций при оценке в 2 ярда. Ага.
И вот, спустя полгода, выпустили своего девина за 500$/мес.
Я периодически смотрю стримы PrimeAgen, и вот на днях он купил Devin и стримил, как Devin под его руководством делает простую браузерную игру. Он, если что, программист, и хотя бы тз может дать Devinу четкое и подробное.
На ютубе есть нарезанная запись стрима, и это прямо уморительно: https://youtu.be/927W6zzvV-c
- Devin в течение 2х часов не мог запушить код на мастер-ветку. Без шуток, вот таймстемп аххаха
- Не мог поставить последнюю версию Go и клялся, что ставит последнюю (сначала 1.18, потом 1.21.5, последняя тем временем - 1.23).
Классический “As of my last knowledge update...” :)
- В результате потратил несколько часов на то, чтобы создать простейший вебсокет-сервер, который наверное GPT делает с первого же промпта
Ну и в качестве вишенки на торте: Devin создает веб-страницу для доступа к его VS Code, которая выглядит вот так:
https://vscode-pnmnamfostfnomvt.devinapps.com/
Прямо во время стрима оказалось, что любой человек, знающий ссылку, получает полный доступ к Devin и к репозиторию, над которым он работает (=ваш репозиторий), и может делать с ним все что хочет, без какой либо авторизации.
Более того, узнать все субдомены вида vscode-*.devinapps.com не особо сложно, и кто-то в чате сделал это пока шел стрим)
Cognition спустя пару часов пофиксили этот баг.
Как человека, который последние полгода довольно активно пользуется Cursor, меня не удивляет “тупеж” Devina - AI пишет очень некачественный код, постоянно удаляет существующий, в общем, требует постоянного битья палкой после каждой правки.
Что меня удивляет, так это то, что AI-стартапу, который поймали на пиздеже в марте, дали просто тонну денег в мае, чтобы в декабре он релизнул крайне небезопасный курсор за 500$/мес, который пушит коммит 2 часа. И люди продолжают это хавать, реально сходят с ума и уже пишут как они сейчас “перестанут брать на работу джунов”.
🤡7🤯6👍3
Spotify продвигает фейковую музыку, чтобы платить меньше настоящим музыкантам
https://www.honest-broker.com/p/the-ugly-truth-about-spotify-is-finally
Я не могу сказать, что я очень высокого мнения о спотифае как о компании, по крайней мере, последние пару лет.
Вот, к примеру, Spotify Unwrapped - тут вы можете посмотреть, сколько денег вы платите спотифаю, и сколько из них реально доходят до лейблов (даже не до артистов). Спойлер: очень мало.
Но от этой истории мне захотелось перестать использовать спотик навсегда.
Перескажу суперкоротко, так как статью-мнение (выше) и/или само расследование, на мой взгляд, стоит прочитать всем, кому хоть немного не похуй на музыку и музыкантов. И читается все на одном дыхании.
В Spotify есть команда людей, которая засовывает “высокомаржинальную” стоковую музыку в официальные плейлисты, по типу Ambient, Chill House, Acoustic Jazz и прочих, чтобы лутать больше денег с роялти себе, а не платить настоящим музыкантам.
Стоковую музыку либо генерит AI, либо выкупают у фриланс-музыкантов со всеми потрохами и правами за 100-300$ / трек.
Во многих плейлистах соотношение такой музыки к “настоящей” доходит до 95%.
Не то что бы настоящей музыки мало, но зачем она спотифаю? У нее меньше доходность. Пусть те, кто хочет ее слушать, название в поиске вбивают.
Это происходит уже как минимум 5 лет. Сотрудники все знают.
У Spotify и таких лейблов общие инвесторы. Они все это тоже прекрасно знают, и с удовольствием вкладывают деньги: маржинальность такого бизнеса уж точно выше, чем у обычных лейблов, и тем более независимых музыкантов.
Дизмораль
Я сам пишу музыку (ну а кто не пишет) и периодически выкладываю. Вот, если кому интересно, присоединяйтесь к моей многотысячной аудитории, ахах. А еще у меня буквально бизнес был музыкальный. В общем, сколько-то музыкантов я знаю.
И я могу сказать, что у Spotify, по сравнению со всеми другими площадками, очень крутой имидж среди музыкантов.
Музыкантов больше волнует количество стримов и слушателей на Spotify, а не на Apple Music, Amazon и.т.д.
Все хотят, чтобы их трек попал в официальные и частные плейлисты именно на Spotify.
Spotify позиционирует себя как демократичную, “умную” платформу, которая соединяет музыкантов с аудиторией с помощью data-driven подходов и все такое. Сколько историй про подростков из маленьких городов, которые становились известными за один день, выпустив bedroom-pop или ambient трек, который зацепил людей по всему миру.
И эти истории вдохновляют многих людей заниматься музыкой всерьез - бросать работу, вкладывать больше времени, денег и нервов в создание и продвижение своей музыки.
Spotify позиционирует свои плейлисты и “питчинг” туда как возможность бесплатно получить огромную аудиторию людей, которым нравится музыка в твоем жанре. Да, конечно, не все треки возьмут, но ведь кто-то там сидит и слушает, ему понравится - добавит. Да?
Забавно (не особо), что из-за таких практик у Spotify за последние несколько лет существенно улучшилось финансовое положение - 2024 будет первым годом, в которым они получили прибыль в каждом квартале. Молодцы!
https://www.honest-broker.com/p/the-ugly-truth-about-spotify-is-finally
Я не могу сказать, что я очень высокого мнения о спотифае как о компании, по крайней мере, последние пару лет.
Вот, к примеру, Spotify Unwrapped - тут вы можете посмотреть, сколько денег вы платите спотифаю, и сколько из них реально доходят до лейблов (даже не до артистов). Спойлер: очень мало.
Но от этой истории мне захотелось перестать использовать спотик навсегда.
Перескажу суперкоротко, так как статью-мнение (выше) и/или само расследование, на мой взгляд, стоит прочитать всем, кому хоть немного не похуй на музыку и музыкантов. И читается все на одном дыхании.
В Spotify есть команда людей, которая засовывает “высокомаржинальную” стоковую музыку в официальные плейлисты, по типу Ambient, Chill House, Acoustic Jazz и прочих, чтобы лутать больше денег с роялти себе, а не платить настоящим музыкантам.
Стоковую музыку либо генерит AI, либо выкупают у фриланс-музыкантов со всеми потрохами и правами за 100-300$ / трек.
Во многих плейлистах соотношение такой музыки к “настоящей” доходит до 95%.
Не то что бы настоящей музыки мало, но зачем она спотифаю? У нее меньше доходность. Пусть те, кто хочет ее слушать, название в поиске вбивают.
Это происходит уже как минимум 5 лет. Сотрудники все знают.
У Spotify и таких лейблов общие инвесторы. Они все это тоже прекрасно знают, и с удовольствием вкладывают деньги: маржинальность такого бизнеса уж точно выше, чем у обычных лейблов, и тем более независимых музыкантов.
Я сам пишу музыку (ну а кто не пишет) и периодически выкладываю. Вот, если кому интересно, присоединяйтесь к моей многотысячной аудитории, ахах. А еще у меня буквально бизнес был музыкальный. В общем, сколько-то музыкантов я знаю.
И я могу сказать, что у Spotify, по сравнению со всеми другими площадками, очень крутой имидж среди музыкантов.
Музыкантов больше волнует количество стримов и слушателей на Spotify, а не на Apple Music, Amazon и.т.д.
Все хотят, чтобы их трек попал в официальные и частные плейлисты именно на Spotify.
Spotify позиционирует себя как демократичную, “умную” платформу, которая соединяет музыкантов с аудиторией с помощью data-driven подходов и все такое. Сколько историй про подростков из маленьких городов, которые становились известными за один день, выпустив bedroom-pop или ambient трек, который зацепил людей по всему миру.
И эти истории вдохновляют многих людей заниматься музыкой всерьез - бросать работу, вкладывать больше времени, денег и нервов в создание и продвижение своей музыки.
Spotify позиционирует свои плейлисты и “питчинг” туда как возможность бесплатно получить огромную аудиторию людей, которым нравится музыка в твоем жанре. Да, конечно, не все треки возьмут, но ведь кто-то там сидит и слушает, ему понравится - добавит. Да?
Забавно (не особо), что из-за таких практик у Spotify за последние несколько лет существенно улучшилось финансовое положение - 2024 будет первым годом, в которым они получили прибыль в каждом квартале. Молодцы!
Honest-Broker
The Ugly Truth About Spotify Is Finally Revealed
A year-long investigation by an indie journalist is a call to action
🤯7🤡5
Мой новый проект - расширение для хрома, которое помогает выявлять читеров на chess.com
https://chromewebstore.google.com/detail/chesscom-opponent-risk-sc/oiemcgpbdohnhkplobgndgdhdlbafoeg
Всем привет!
Наконец-то я доделал, зарелизил и протестировал свое расширение.
Зачем делал?
Я очень много играю в шахматы. Нездорово много - в 2024 я сыграл 3650 партий.
И играю я довольно хорошо: 2200 рапид, 1900 блиц на chess.com.
За последний год, по моим ощущениям, на чесскоме стало просто невероятно много читеров - бывают дни, когда половина всех найденных соперников “похожи на читеров”.
Вот я и решил сделать свое расширение, которое будет проверять соперника за пару секунд после начала игры: находит юзернейм противника, достает кучу статистики по апишке, и с помощью созданной мной скоринговой модели выдает “risk score” - по сути вероятность того, что соперник читер, от 0 до 100. Если скор получился высокий - можно сразу же прервать игру, и не тратить время, нервы и рейтинг.
Я написал статью, в которой подробно рассказал про то, как устроена модель, и что я там еще планирую развивать в будущем:
Medium | Telegraph.
Пересказывать не буду - посмотрите, если интересно.
Fun fact: вчера выложил примерно такой же пост на реддите (все-таки, у англичанов рождество сегодня), и мне написал на почту CEO chess.com [см. скрин выше].
Надеюсь, не будет со мной судиться))
В процессе работы над этим проектом я несколько раз разочаровался в курсоре и гпт, хотя начал сразу с более “крутым” подходом, чем в прошлом проекте.
Интересно, что даже ChatGPT o1 не смог нормально придумать мат. модель (хотя там не то что бы высшая математика), поэтому пришлось немного повспоминать всякие эконометрики и другие универские предметы, которые я уже давно забыл.
Cursor, несмотря на вдумчивые и очень подробные тз, наворотил кучу дерьма, и по итогу я потратил примерно половину от всего времени работы над проектом на переписывание кода вручную.
Но результатом я доволен. Работает вроде хорошо.
Если вы играете - попробуйте, пожалуйста! Это реально удобно, пользуюсь теперь на постоянке.
Если играют ваши друзья - скиньте им!
Проект я, как и в прошлый раз, заопенсорсил - вот он на Github.
https://chromewebstore.google.com/detail/chesscom-opponent-risk-sc/oiemcgpbdohnhkplobgndgdhdlbafoeg
Всем привет!
Наконец-то я доделал, зарелизил и протестировал свое расширение.
Зачем делал?
Я очень много играю в шахматы. Нездорово много - в 2024 я сыграл 3650 партий.
И играю я довольно хорошо: 2200 рапид, 1900 блиц на chess.com.
За последний год, по моим ощущениям, на чесскоме стало просто невероятно много читеров - бывают дни, когда половина всех найденных соперников “похожи на читеров”.
Вот я и решил сделать свое расширение, которое будет проверять соперника за пару секунд после начала игры: находит юзернейм противника, достает кучу статистики по апишке, и с помощью созданной мной скоринговой модели выдает “risk score” - по сути вероятность того, что соперник читер, от 0 до 100. Если скор получился высокий - можно сразу же прервать игру, и не тратить время, нервы и рейтинг.
Я написал статью, в которой подробно рассказал про то, как устроена модель, и что я там еще планирую развивать в будущем:
Medium | Telegraph.
Пересказывать не буду - посмотрите, если интересно.
Fun fact: вчера выложил примерно такой же пост на реддите (все-таки, у англичанов рождество сегодня), и мне написал на почту CEO chess.com [см. скрин выше].
Надеюсь, не будет со мной судиться))
В процессе работы над этим проектом я несколько раз разочаровался в курсоре и гпт, хотя начал сразу с более “крутым” подходом, чем в прошлом проекте.
Интересно, что даже ChatGPT o1 не смог нормально придумать мат. модель (хотя там не то что бы высшая математика), поэтому пришлось немного повспоминать всякие эконометрики и другие универские предметы, которые я уже давно забыл.
Cursor, несмотря на вдумчивые и очень подробные тз, наворотил кучу дерьма, и по итогу я потратил примерно половину от всего времени работы над проектом на переписывание кода вручную.
Но результатом я доволен. Работает вроде хорошо.
Если вы играете - попробуйте, пожалуйста! Это реально удобно, пользуюсь теперь на постоянке.
Если играют ваши друзья - скиньте им!
Проект я, как и в прошлый раз, заопенсорсил - вот он на Github.
🔥34🤯6
Про продвижение
Несколько дней назад я зарелизил свое античитинг-расширение, написал статью и посты на нескольких площадках.
Изначально я делал его для себя, но потом решил довести до приличного состояния и выложить.
Планов на большие охваты и успешный успех у меня, конечно, не было.
Но когда тратишь на проект 50-100 часов и выкладываешь его бесплатно, хочется получить обратную связь и показать его потенциально заинтересованным людям.
Это был мой второй опыт продвижения собственного проекта, и я попытался сделать выводы из прошлого (вот этого) и попробовать собрать побольше фидбека.
Получилось лучше, чем я ожидал!
Результаты за 3 дня
- 100+ установок - точно сказать не могу, потому что гугловская аналитика очень тупит и обновляет данные с запозданием на 24-48 часов.
- 200+ дочитываний статьи на Medium. Наверное, не много для профессиональных авторов, но для меня очень много (учитывая, что у меня там 0 подписчиков).
- Reddit: 50k просмотров, больше 100 комментариев и шеров, много сообщений в личке с вопросами и фидбэком - просто вау!
- Со мной связался CEO и со-основатель чесскома, договорились созвониться в конце января, чтобы обсудить их подходы к античитингу.
Плюс на форуме Chess.com мне написали несколько сотрудников, в тч “ветераны” античитинга (вот например репа 2017 года) с комментариями и идеями.
Советы
1. Не бойтесь писать везде про свои проекты! Даже если кажется, что это никому не нужно.
Реальный фидбэк от заинтересованных людей — это невероятно приятно.
2. Пишите на Reddit. Там есть сабреддиты про все, сидят очень проактивные люди и реально пробуют то, что вы пишете.
Наполучал очень много отзывов, в том числе и негативных - ну а куда без этого)
3. Ищите сообщества заинтересованных вашей темой людей. Их мало, но зато им реально интересно.
Например, я выложил свой пост на закрытый форум chess.com, где всего 9к мемберов.
Мне написали 50 комментов, написал в личку админ форума и еще пара человек написали на почту.
В основном, очень взрослые дядьки (хех) с идеями и предложениями помочь с развитием проекта.
Выводы
Хоть я и не формулировал для себя никаких целей по охватам, я остался очень доволен.
Мотивация пилить проекты у меня в основном внутренняя, так что не могу сказать, что я не стал бы делать следующий проект, если бы этот особо никто не увидел.
Но вот мотивации не забрасывать старые (тут уже насобирал фидбека на v2) и продвигать следующие точно прибавилось!
В будущем хочу побольше уделить времени и разобраться, как еще можно бесплатно попродвигать проекты (не уровня Product Hunt и не коммерческие).
Думаю, что точно надо делать это планомерно - условно, каждую неделю делать пост с апдейтами, или в новое сообщество, чтобы аудитория проекта росла. Но, честно, пока очень лень )
Это последний пост в этом году. Всех с наступающим! 🎄
Не бойтесь начинать что-то своё — это того стоит!
Несколько дней назад я зарелизил свое античитинг-расширение, написал статью и посты на нескольких площадках.
Изначально я делал его для себя, но потом решил довести до приличного состояния и выложить.
Планов на большие охваты и успешный успех у меня, конечно, не было.
Но когда тратишь на проект 50-100 часов и выкладываешь его бесплатно, хочется получить обратную связь и показать его потенциально заинтересованным людям.
Это был мой второй опыт продвижения собственного проекта, и я попытался сделать выводы из прошлого (вот этого) и попробовать собрать побольше фидбека.
Получилось лучше, чем я ожидал!
Результаты за 3 дня
- 100+ установок - точно сказать не могу, потому что гугловская аналитика очень тупит и обновляет данные с запозданием на 24-48 часов.
- 200+ дочитываний статьи на Medium. Наверное, не много для профессиональных авторов, но для меня очень много (учитывая, что у меня там 0 подписчиков).
- Reddit: 50k просмотров, больше 100 комментариев и шеров, много сообщений в личке с вопросами и фидбэком - просто вау!
- Со мной связался CEO и со-основатель чесскома, договорились созвониться в конце января, чтобы обсудить их подходы к античитингу.
Плюс на форуме Chess.com мне написали несколько сотрудников, в тч “ветераны” античитинга (вот например репа 2017 года) с комментариями и идеями.
Советы
1. Не бойтесь писать везде про свои проекты! Даже если кажется, что это никому не нужно.
Реальный фидбэк от заинтересованных людей — это невероятно приятно.
2. Пишите на Reddit. Там есть сабреддиты про все, сидят очень проактивные люди и реально пробуют то, что вы пишете.
Наполучал очень много отзывов, в том числе и негативных - ну а куда без этого)
3. Ищите сообщества заинтересованных вашей темой людей. Их мало, но зато им реально интересно.
Например, я выложил свой пост на закрытый форум chess.com, где всего 9к мемберов.
Мне написали 50 комментов, написал в личку админ форума и еще пара человек написали на почту.
В основном, очень взрослые дядьки (хех) с идеями и предложениями помочь с развитием проекта.
Выводы
Хоть я и не формулировал для себя никаких целей по охватам, я остался очень доволен.
Мотивация пилить проекты у меня в основном внутренняя, так что не могу сказать, что я не стал бы делать следующий проект, если бы этот особо никто не увидел.
Но вот мотивации не забрасывать старые (тут уже насобирал фидбека на v2) и продвигать следующие точно прибавилось!
В будущем хочу побольше уделить времени и разобраться, как еще можно бесплатно попродвигать проекты (не уровня Product Hunt и не коммерческие).
Думаю, что точно надо делать это планомерно - условно, каждую неделю делать пост с апдейтами, или в новое сообщество, чтобы аудитория проекта росла. Но, честно, пока очень лень )
Это последний пост в этом году. Всех с наступающим! 🎄
Не бойтесь начинать что-то своё — это того стоит!
👍12🕊10🔥7
Недостаточно рандомно
https://www.zellic.io/blog/proton-dart-flutter-csprng-prng/
Помните историю про NSA и их "подвоху" в алгоритме для генерации рандомных чисел?
Прочитал про похожий случай, который обнаружили в 2024 году.
Драмы и заговоров меньше, но история все равно интересная - показывает, как одна плохо написанная функция в исходнике языка угрожает безопасности кучи приложений, написанных на нем.
Например, Proton Wallet - криптокошелек от компании, которую вы вероятно знаете по "безопасной" почте Proton Mail.
А еще Flutter - язык для кроссплатформенного программирования, разработанный в гугле.
Flutter работает на базе Dart, а сам дарт запускается на виртуальной машине Dart VM.
В образе этой виртуальной машины есть много встроенных библиотек, в том числе и для генерации рандомных чисел.
Оказалось, что алгоритм для генерации рандомных чисел, заложенный в функцию Random() в Dart / Flutter, на вид использует 64-битный seed, но в реальности обрубает его до 32 бит.
То есть: вместо 2^64 вариантов "исходника", из которого генерируются числа, на самом деле используется всего 2^32 вариантов.
Звучит, наверное, не супер интуитивно - ну и что?
Но если эти 2 в степени превратить в нормальные числа, то становится чуть понятнее:
А вот
Такого рода "косяки" периодически приводят к очень серьезным проблемам - например, год назад из-за такой предсказуемости в Libbitcoin Explorer было украдено битков на 900к$.
В одной из предыдущих статей в блоге Zellic, кстати, очень понятным языков описано, что такое CSPRNG, то есть криптографически безопасный псевдорандомный генератор чисел.
Представьте себе, что вы с другом играете в такую игру:
- Вы генерируете число с помощью одного из двух алгоритмов - "испытуемого" псевдорандомного PRNG и TRNG - настоящего рандомного алгоритма, например, подбрасывания монетки, с вероятностью 50% - либо одним, либо другим.
- Говорите другу это число (держи друг: 492837438579029130897864726871983083978)
- Задача друга - угадать, каким алгоритмом было сгенерено число - псевдорандомным или по-настоящему рандомным.
Очевидно, что вероятность победы вашего друга в "идеальном" случае - 50%: либо угадал, либо нет.
Но представьте, что числа, сгенерированные с помощью PRNG, имеют какое-то сходство - например, всегда начинаются на четную цифру.
В таком случае оптимальная стратегия для вашего друга - отгадывать TRNG, если первая цифра в числе - нечетная, и PRNG - если четное:
- Если нечетное, то вероятность правильно отгадать TRNG = 100%
- Если четное, то вероятность угадать PRNG = 50%
И в результате вероятность победы друга:
Разница между базой 50% и реальной вероятностью отгадки для данного алгоритма называется advantage.
Так вот, криптографическая безопасность PRNG определяется как раз по этому advantage: если advantage <= 2^-128 (очень очень маленькое число), то такой алгоритм PRNG называется 128-битно безопасным.
А алгоритм под капотом Random в Dart имеет безопасность 32 бита, - то есть, по современным меркам, он считается криптографически небезопасным.
Замечу, что проблема в случае Dart не в том, что random() небезопасна, а в том, что она выдает себя за безопасную.
Так-то функция random() во многих языках является криптографически небезопасной, например в Python, Java, C++ и т д.
Так что если будете API-ключи или пароли генерить - не используйте встроенный рандом.
https://www.zellic.io/blog/proton-dart-flutter-csprng-prng/
Помните историю про NSA и их "подвоху" в алгоритме для генерации рандомных чисел?
Прочитал про похожий случай, который обнаружили в 2024 году.
Драмы и заговоров меньше, но история все равно интересная - показывает, как одна плохо написанная функция в исходнике языка угрожает безопасности кучи приложений, написанных на нем.
Например, Proton Wallet - криптокошелек от компании, которую вы вероятно знаете по "безопасной" почте Proton Mail.
А еще Flutter - язык для кроссплатформенного программирования, разработанный в гугле.
Flutter работает на базе Dart, а сам дарт запускается на виртуальной машине Dart VM.
В образе этой виртуальной машины есть много встроенных библиотек, в том числе и для генерации рандомных чисел.
Оказалось, что алгоритм для генерации рандомных чисел, заложенный в функцию Random() в Dart / Flutter, на вид использует 64-битный seed, но в реальности обрубает его до 32 бит.
То есть: вместо 2^64 вариантов "исходника", из которого генерируются числа, на самом деле используется всего 2^32 вариантов.
Звучит, наверное, не супер интуитивно - ну и что?
Но если эти 2 в степени превратить в нормальные числа, то становится чуть понятнее:
2^32 = 4,294,967,296
И вот перебрать 4 с небольшим млрд. вариантов для современного компьютера - плевая задача на 15 минут. А вот
2^64 = 18,446,744,073,709,551,616 перебирать гораздо дольше, и такое кол-во вариантов считается криптографически безопасным. Такого рода "косяки" периодически приводят к очень серьезным проблемам - например, год назад из-за такой предсказуемости в Libbitcoin Explorer было украдено битков на 900к$.
В одной из предыдущих статей в блоге Zellic, кстати, очень понятным языков описано, что такое CSPRNG, то есть криптографически безопасный псевдорандомный генератор чисел.
Представьте себе, что вы с другом играете в такую игру:
- Вы генерируете число с помощью одного из двух алгоритмов - "испытуемого" псевдорандомного PRNG и TRNG - настоящего рандомного алгоритма, например, подбрасывания монетки, с вероятностью 50% - либо одним, либо другим.
- Говорите другу это число (держи друг: 492837438579029130897864726871983083978)
- Задача друга - угадать, каким алгоритмом было сгенерено число - псевдорандомным или по-настоящему рандомным.
Очевидно, что вероятность победы вашего друга в "идеальном" случае - 50%: либо угадал, либо нет.
Но представьте, что числа, сгенерированные с помощью PRNG, имеют какое-то сходство - например, всегда начинаются на четную цифру.
В таком случае оптимальная стратегия для вашего друга - отгадывать TRNG, если первая цифра в числе - нечетная, и PRNG - если четное:
- Если нечетное, то вероятность правильно отгадать TRNG = 100%
- Если четное, то вероятность угадать PRNG = 50%
И в результате вероятность победы друга:
1x0,5 + 0.5x0.5 = 0.75. Разница между базой 50% и реальной вероятностью отгадки для данного алгоритма называется advantage.
Так вот, криптографическая безопасность PRNG определяется как раз по этому advantage: если advantage <= 2^-128 (очень очень маленькое число), то такой алгоритм PRNG называется 128-битно безопасным.
А алгоритм под капотом Random в Dart имеет безопасность 32 бита, - то есть, по современным меркам, он считается криптографически небезопасным.
Замечу, что проблема в случае Dart не в том, что random() небезопасна, а в том, что она выдает себя за безопасную.
Так-то функция random() во многих языках является криптографически небезопасной, например в Python, Java, C++ и т д.
Так что если будете API-ключи или пароли генерить - не используйте встроенный рандом.
www.zellic.io
Far From Random: Three Mistakes From Dart/Flutter's Weak PRNG | Zellic — Research
A look into how an unexpectedly weak PRNG in Dart led to Zellic's discovery of multiple vulnerabilities
🔥6🥴3👍1
Вот что я люблю
https://eaton-works.com/2024/12/19/mcdelivery-india-hack/
Помните историю про Dotpe - сервис для заказа / оплаты по куаркоду, популярный в Индии?
Недавно прочитал похожую историю про взлом Мак Доставки, и снова в Индии - bug bounty программа у Макдоналдса есть только там...
Уязвимости в API мака позволяли:
- Заказать все что угодно за 1 рупию / блюдо
- Спереть чужой заказ, поменяв адрес доставки уже после оплаты
- Отслеживать перемещения курьеров в реальном времени (а также знать их паспортные данные)
Ну и многое другое!
А все началось с простого теста на Id Enumeration - видишь в урле что-то вроде: "somesite.com/orders/order/12345" и пробуешь вместо 12345 подставить 0 или 1.
В результате такой простой проверки можно обнаружить, к чему у тебя есть доступ - например, в случае с маком, так можно оставить отзыв за чужой заказ, отследить курьера по чужому заказу, ну и всякое такое.
Кстати говоря, про отслеживание курьеров: в макдоставке курьером можно стать за 15 минут, зарегистрировавшись через приложение. Ну примерно как в яндекс еде.
Так вот, выяснилось, что если попасть на страницу чужого заказа, который в данный момент в статусе "в пути", то из-под страницы можно вытащить API запрос, который возвращает его фио, почту, телефон, номера машины и координаты.
С помощью нехитрой программы любой мог следить за всеми курьерами макдоставки (не представляю сколько их, учитывая, что приложение покрывает пол Индии) в реальном времени.
А потом еще и оказалось, что помимо GET-метода (на чтение) некоторые эндпоинты принимают и POST/PATCH методы, хотя они на вид не используются в "нормальном" процессе. Это тоже часто встречающаяся уязвимость плохо защищенных апи, особенно собранных "из коробки" - где все методы есть по умолчанию.
Вот как с помощью этого можно заказать (почти) бесплатную еду:
- Через POST-запроса на один эндпоинт подменить стоимость блюда в корзине. На 0 нельзя, а вот на 1 - можно.
- выбрать на чекауте оплату налом курьеру (когда каждое блюдо по 1 рублю - не проблема)
- профит! Автор вот заказал 100 хашбраунов)))
Интересный факт: автор выбрал именно индийскую макдоставку, потому что только у них была открыта bug bounty программа.
То есть, они больше заботятся о безопасности своей системы, и потенциально в других макдоставках в разных странах проблем еще больше.
Пока писал, захотелось хашбраун...
https://eaton-works.com/2024/12/19/mcdelivery-india-hack/
Помните историю про Dotpe - сервис для заказа / оплаты по куаркоду, популярный в Индии?
Недавно прочитал похожую историю про взлом Мак Доставки, и снова в Индии - bug bounty программа у Макдоналдса есть только там...
Уязвимости в API мака позволяли:
- Заказать все что угодно за 1 рупию / блюдо
- Спереть чужой заказ, поменяв адрес доставки уже после оплаты
- Отслеживать перемещения курьеров в реальном времени (а также знать их паспортные данные)
Ну и многое другое!
А все началось с простого теста на Id Enumeration - видишь в урле что-то вроде: "somesite.com/orders/order/12345" и пробуешь вместо 12345 подставить 0 или 1.
В результате такой простой проверки можно обнаружить, к чему у тебя есть доступ - например, в случае с маком, так можно оставить отзыв за чужой заказ, отследить курьера по чужому заказу, ну и всякое такое.
Кстати говоря, про отслеживание курьеров: в макдоставке курьером можно стать за 15 минут, зарегистрировавшись через приложение. Ну примерно как в яндекс еде.
Так вот, выяснилось, что если попасть на страницу чужого заказа, который в данный момент в статусе "в пути", то из-под страницы можно вытащить API запрос, который возвращает его фио, почту, телефон, номера машины и координаты.
С помощью нехитрой программы любой мог следить за всеми курьерами макдоставки (не представляю сколько их, учитывая, что приложение покрывает пол Индии) в реальном времени.
А потом еще и оказалось, что помимо GET-метода (на чтение) некоторые эндпоинты принимают и POST/PATCH методы, хотя они на вид не используются в "нормальном" процессе. Это тоже часто встречающаяся уязвимость плохо защищенных апи, особенно собранных "из коробки" - где все методы есть по умолчанию.
Вот как с помощью этого можно заказать (почти) бесплатную еду:
- Через POST-запроса на один эндпоинт подменить стоимость блюда в корзине. На 0 нельзя, а вот на 1 - можно.
- выбрать на чекауте оплату налом курьеру (когда каждое блюдо по 1 рублю - не проблема)
- профит! Автор вот заказал 100 хашбраунов)))
Интересный факт: автор выбрал именно индийскую макдоставку, потому что только у них была открыта bug bounty программа.
То есть, они больше заботятся о безопасности своей системы, и потенциально в других макдоставках в разных странах проблем еще больше.
Пока писал, захотелось хашбраун...
Eaton-Works
I’m Lovin’ It: Exploiting McDonald’s APIs to hijack deliveries and order food for a penny
A series of API flaws in McDelivery India made it possible to order food for a penny, hijack other people’s delivery orders, view user information, and more.
🔥6👍3
Мое мини-расследование: от одного туториала на ютубе до скам-схемы на несколько миллионов долларов
Статья с картинками: Medium | Telegraph
Пару дней назад я разбирал свои заметки в тг перед выездом в аэропорт - хотел скачать несколько видео на ютубе и статей в дорогу.
Иду по списку и вижу это видео: "How to create your own USDT Flash token". Только если смотреть будете - не повторяйте ничего, пожалуйста!
Открываю и удивляюсь: видео идет всего 3 минуты. Ладно, думаю, нафига мне качать 3х минутное видео - можно просто сразу посмотреть.
А видео очень странное.
В нем закадровый голос объясняет как +- из воздуха получить несколько десятков тысяч USDT:
Я сразу подумал, что это скам, и решил посмотреть комменты под видео. А там...
Пара ботовых благодарностей и еще один скам! - я про такой писал пару месяцев назад.
Следствие ведут колобкибез опыта
Ну а дальше мне стало очень интересно, как все это устроено: что там в этих 1100 строках кода, на каком этапе жертву грабят, и куда потом уходят награбленные деньги.
И я пошел разбираться, и до какого-то уровня разобрался:
1. нашел скрытый адрес, куда утекают деньги из задеплоенного жертвой контракта
2. посмотрел, что только на этот 1 адрес "перевели" деньги почти 100 жертв, суммарно на $10k+
3. обнаружил, что на ютубе таких видео 100+ штук, и в них код контракта (который надо скопировать) различается тем самым адресом, куда стекаются деньги
4. проследил, куда со всех этих адресов выходили деньги, иии....
5. нашел кошелек, на котором $2.2 млн! который, в свою очередь, понемногу отмывает эти деньги, закидывая их на stake.com (ставки на спорт, которые рекламирует дрейк) и на биржу ByBit
6. отследил несколько других источников денег, из которых сложились эти 2 миллиона, помеченных как скам / фрод / фишинг
Ну вот так как-то.
Кому интересны детали - смотрите пост на телеграфе / медиуме, я там довольно подробно рассказал про инструментарий и свою логическую цепочку.
И много красивых графов налепил в процессе - ну а куда без этого?
И даже схемку милую нарисовал в качестве обложки - как вам, кстати?
Честно - не ожидал такого. Думал школьный скам на 5 копеек найду в лучшем случае, а не вот это все.
Самый большой вопрос у меня к stake.com c bybitом: почему они принимают деньги с такого грязного кошелька-миллионера?
Они должны все это знать, так как +- все серьезные ребята используют KYT (know your transaction), и такие явные связки со скам-деньгами должны распознавать за 1 секунду.
Ну, видимо, деньги не пахнут 🙃
Вопрос к знающим людям: куда/кому мне это отправить?
Я напишу на пару сабреддитов тематических, но мб есть какие-то исследователи / конторы, которым можно это послать?
Явно там есть еще что поковырять.
Просьба: если вы в криптокомьюнити, пошарьте этот пост (или сразу Medium статью) где не жалко - может быть, информация дойдет до кого-то, кто посерьезнее все это рассмотрит и даже примет какие-то меры.
Ну а если это про тебя - напиши мне в личку, пожалуйста, я буду рад поразбираться и дальше, и посмотреть, как работают профессионалы.
Статья с картинками: Medium | Telegraph
Пару дней назад я разбирал свои заметки в тг перед выездом в аэропорт - хотел скачать несколько видео на ютубе и статей в дорогу.
Иду по списку и вижу это видео: "How to create your own USDT Flash token". Только если смотреть будете - не повторяйте ничего, пожалуйста!
Открываю и удивляюсь: видео идет всего 3 минуты. Ладно, думаю, нафига мне качать 3х минутное видео - можно просто сразу посмотреть.
А видео очень странное.
В нем закадровый голос объясняет как +- из воздуха получить несколько десятков тысяч USDT:
1. копируешь очень длинный код на солидити (1100 строк)
2. вставляешь в RemixIDE
3. цепляешь свой кошелек
4. деплоишь контракт (и платишь за это газ)
5. вызываешь 2 метода и кладешь в вызовы 0.025-0.1 ETH (90-360$)
6. профит! вы сказочно богаты
Я сразу подумал, что это скам, и решил посмотреть комменты под видео. А там...
Пара ботовых благодарностей и еще один скам! - я про такой писал пару месяцев назад.
Следствие ведут колобки
Ну а дальше мне стало очень интересно, как все это устроено: что там в этих 1100 строках кода, на каком этапе жертву грабят, и куда потом уходят награбленные деньги.
И я пошел разбираться, и до какого-то уровня разобрался:
1. нашел скрытый адрес, куда утекают деньги из задеплоенного жертвой контракта
2. посмотрел, что только на этот 1 адрес "перевели" деньги почти 100 жертв, суммарно на $10k+
3. обнаружил, что на ютубе таких видео 100+ штук, и в них код контракта (который надо скопировать) различается тем самым адресом, куда стекаются деньги
4. проследил, куда со всех этих адресов выходили деньги, иии....
5. нашел кошелек, на котором $2.2 млн! который, в свою очередь, понемногу отмывает эти деньги, закидывая их на stake.com (ставки на спорт, которые рекламирует дрейк) и на биржу ByBit
6. отследил несколько других источников денег, из которых сложились эти 2 миллиона, помеченных как скам / фрод / фишинг
Ну вот так как-то.
Кому интересны детали - смотрите пост на телеграфе / медиуме, я там довольно подробно рассказал про инструментарий и свою логическую цепочку.
И много красивых графов налепил в процессе - ну а куда без этого?
И даже схемку милую нарисовал в качестве обложки - как вам, кстати?
Честно - не ожидал такого. Думал школьный скам на 5 копеек найду в лучшем случае, а не вот это все.
Самый большой вопрос у меня к stake.com c bybitом: почему они принимают деньги с такого грязного кошелька-миллионера?
Они должны все это знать, так как +- все серьезные ребята используют KYT (know your transaction), и такие явные связки со скам-деньгами должны распознавать за 1 секунду.
Ну, видимо, деньги не пахнут 🙃
Вопрос к знающим людям: куда/кому мне это отправить?
Я напишу на пару сабреддитов тематических, но мб есть какие-то исследователи / конторы, которым можно это послать?
Явно там есть еще что поковырять.
Просьба: если вы в криптокомьюнити, пошарьте этот пост (или сразу Medium статью) где не жалко - может быть, информация дойдет до кого-то, кто посерьезнее все это рассмотрит и даже примет какие-то меры.
Ну а если это про тебя - напиши мне в личку, пожалуйста, я буду рад поразбираться и дальше, и посмотреть, как работают профессионалы.
1🔥11🤯8
Candy Crush wants to know your location
https://www.404media.co/candy-crush-tinder-myfitnesspal-see-the-thousands-of-apps-hijacked-to-spy-on-your-location/
статья без пейвола (только тсс)
Громкая история: русские хакеры (ха-ха) взломали компанию Gravy Analytics, которая собирает кучу данных, в том числе, геолокационных, и продает... ну, разным людям и компаниям. Например, разным правительственным органам США.
Такой взлом - угроза безопасности миллионов людей по всему миру, почти во всех странах.
Если все данные сольют с потрохами, то по ним можно будет задеанонить ну типа 100 млн человек.
Но самое примечательное в уже слитых хакерами данных - список приложений, которые собирали данные пользователей без разрешения и без уведомления об этом.
Более того, разработчики приложений точно так же не знали, - ну, могли бы и узнать, конечно, но это не они заложили такой функционал для сбора GPS-координат, IP адреса и еще кучи инфы.
Как это - не знали?
А вот как: они просто выделяли в своем приложении места под баннеры и подписывались с платформой, которая будет размещать там рекламу.
Чтобы определить, какую именно рекламу вам показать сейчас и сколько это будет стоить для рекламодателя, проводится аукцион - real-time bidding (RTB).
Чтобы помочь рекламодателю лучше таргетироваться и не тратить деньги на, к примеру, аудиторию из другой страны, платформа собирает и передает в "лоте" ваш IP адрес или координаты.
Вот только доступ к этим данным есть у множества агентств - кто-то реально рекламу подходящую подбирает, а кто-то молча сидит, слушает и записывает в гигантские датасеты. Которые потом покупает ФБР, а потом сливают русские хакеры)
Вот, кстати, мой старый пост про то, как эти данные передаются из рук в руки, а в конце продаются по госконтрактам - с подробностями.
А если кому интересно почитать еще на эту тему - вот крутая статья в WSJ с красивыми картинками, в которой показан флоу движения данных от компании к компании.
Но давайте вернемся к списку. В нем - тысячи приложений.
Например, Tinder и Grindr, Subway Surfers, Candy Crush...
Я проверил бегло, какие приложения из установленных у меня есть в списке.
Их оказалось всего 2: Chess.com (думаю, что только бесплатная версия с рекламой) и Alarmy - кастомный очень громкий будильник, которым я пользуюсь. Ну, вернее, пользовался)
Вот список в формате гугл таблицы - ради интереса, поищите там установленные у вас приложения. Разных бесплатных VPNов, например, там сотни. Напишите в комментах, если найдете!
Причем как на Android, так и на IOS, большой разницы нет.
Практически любое бесплатное приложение, которое живет за счет рекламы, рано или поздно окажется в этом или похожем списке.
Это и есть та цена, которую вы за него платите - табличка с вашими данными.
А как их будут использовать, для показа рекламы или слежки - не ваше дело.
Вообще треш, конечно.
Как я уже писал в посте выше, самое стремное во всем этом то, что из-за длинной цепочки компаний, где каждая делает свой кусочек, привлечь кого-то к ответственности за это довольно сложно.
А еще сложнее, когда привлекающий орган и есть покупатель этих данных)
https://www.404media.co/candy-crush-tinder-myfitnesspal-see-the-thousands-of-apps-hijacked-to-spy-on-your-location/
статья без пейвола (только тсс)
Громкая история: русские хакеры (ха-ха) взломали компанию Gravy Analytics, которая собирает кучу данных, в том числе, геолокационных, и продает... ну, разным людям и компаниям. Например, разным правительственным органам США.
Такой взлом - угроза безопасности миллионов людей по всему миру, почти во всех странах.
Если все данные сольют с потрохами, то по ним можно будет задеанонить ну типа 100 млн человек.
Но самое примечательное в уже слитых хакерами данных - список приложений, которые собирали данные пользователей без разрешения и без уведомления об этом.
Более того, разработчики приложений точно так же не знали, - ну, могли бы и узнать, конечно, но это не они заложили такой функционал для сбора GPS-координат, IP адреса и еще кучи инфы.
Как это - не знали?
А вот как: они просто выделяли в своем приложении места под баннеры и подписывались с платформой, которая будет размещать там рекламу.
Чтобы определить, какую именно рекламу вам показать сейчас и сколько это будет стоить для рекламодателя, проводится аукцион - real-time bidding (RTB).
Чтобы помочь рекламодателю лучше таргетироваться и не тратить деньги на, к примеру, аудиторию из другой страны, платформа собирает и передает в "лоте" ваш IP адрес или координаты.
Вот только доступ к этим данным есть у множества агентств - кто-то реально рекламу подходящую подбирает, а кто-то молча сидит, слушает и записывает в гигантские датасеты. Которые потом покупает ФБР, а потом сливают русские хакеры)
Вот, кстати, мой старый пост про то, как эти данные передаются из рук в руки, а в конце продаются по госконтрактам - с подробностями.
А если кому интересно почитать еще на эту тему - вот крутая статья в WSJ с красивыми картинками, в которой показан флоу движения данных от компании к компании.
Но давайте вернемся к списку. В нем - тысячи приложений.
Например, Tinder и Grindr, Subway Surfers, Candy Crush...
Я проверил бегло, какие приложения из установленных у меня есть в списке.
Их оказалось всего 2: Chess.com (думаю, что только бесплатная версия с рекламой) и Alarmy - кастомный очень громкий будильник, которым я пользуюсь. Ну, вернее, пользовался)
Вот список в формате гугл таблицы - ради интереса, поищите там установленные у вас приложения. Разных бесплатных VPNов, например, там сотни. Напишите в комментах, если найдете!
Причем как на Android, так и на IOS, большой разницы нет.
Практически любое бесплатное приложение, которое живет за счет рекламы, рано или поздно окажется в этом или похожем списке.
Это и есть та цена, которую вы за него платите - табличка с вашими данными.
А как их будут использовать, для показа рекламы или слежки - не ваше дело.
Вообще треш, конечно.
Как я уже писал в посте выше, самое стремное во всем этом то, что из-за длинной цепочки компаний, где каждая делает свой кусочек, привлечь кого-то к ответственности за это довольно сложно.
А еще сложнее, когда привлекающий орган и есть покупатель этих данных)
404 Media
Candy Crush, Tinder, MyFitnessPal: See the Thousands of Apps Hijacked to Spy on Your Location
A hack of location data company Gravy Analytics has revealed which apps are—knowingly or not—being used to collect your information behind the scenes.
🤯10👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Как я сам себя отследил
После того, как я нашел в списке приложений из поста выше несколько установленных у меня - моментально обзавелся идеей-фикс: проследить, как с моего телефона утекают данные и купить их у какого-нибудь дата брокера извне.
По итогам примерно 10 часов занятий этим:
- Нашел запрос, в котором сливается мое гео, и 5+ запросов, в которых сливается IP
- Узнал много нового про то, как устроены RTB-аукционы и протокол OpenRTB, и просто охуел от того, насколько подробные данные передаются на рекламные биржи
- Обломался с идеей купить базу со своими данными, тк у меня нет ни большой компании (чтобы от ее имени взять триал), ни $10-50к, чтобы купить датасет, в котором будет много миллионов человек и я.
Ну, может и есть, но покупка все равно странная))
Оказалось, что данные "европейцев" чуть ли не самые дорогие.
В качестве сетапа:
- старый iphone (как-то неуютно было делать все на основном)
- charles proxy, чтобы слушать и расшифровывать весь HTTPS-траффик, который отправляет приложение
- игра Stack, в которую я играл в 8 классе - она, как и куча других игр компании Ketchapp (кто помнит такую?), оказалась в списке.
Что я обнаружил:
1. За 1ую секунду работы приложение отправляет 200+ запросов в кучу разных мест - обратите внимание на время справа на видео, между забросами буквально доли секунды.
2. БОльшая часть рекламы "менеджерится" через Unity Ads (и именно сквозь них утекло мое гео) - а я думал, что они на игровом движке 2 ярда зарабатывают :)
3. Приложение собирает и передает на биржи все, что может узнать о вашем телефоне - и некоторые вещи даже непонятно, зачем - например:
- На сколько % заряжен телефон, заряжается ли он сейчас, какая яркость экрана, подключены ли наушники, и если да - какие;
- Все о модели телефона, версии ос, вайфае, операторе связи, установленных языках
- Ну и конечно - IP и координаты, с привязкой ко времени.
Приложение, кстати не запрашивало доступ к геолокации, но все равно узнало мои координаты, и довольно точные - даже на вайфае попали в несколько домов от меня.
Думаю, было бы точнее, если бы в телефоне была симка и я был на лте;
А, и кстати, про IP - он в тч утек в запросе на web.facebook.com.
На телефоне, где не стоит приложение Facebook. Где я, естественно, не синхронизировал друзей и не разрешал фейсбуку собирать никакие мои данные. Как ни странно, шпионских запросов от Тиктока я не увидел :)
И наконец - вишенка на торте!
Выбор опции "Allow app not to track" никак не влияет на то, как собираются эти данные.
Единственное различие - если попросить приложение не следить, Apple не отдает IDFA, - тот самый маркетинговый айдишник телефона, - вместе с гео и всеми остальными данными.
Но при этом отдает IDFV - айдишник для вендора (как раз таки KetchApp), общий для всех игр / приложений от этого разработчика.
Так что если одному приложению условного Playrix'a, KetchApp'a или даже Яндекса вы случайно или специально разрешили трекать вас, то все данные из других приложений тоже подтянутся.
Ну а обменять IDFA на ваше ФИО, почту, телефон и адрес - давно автоматизированная задача. Достаточно денег заплатить.
Больше того - утекает такое безумное количество данных, что я не удивлюсь, если на самом деле есть еще какой-нибудь айдишник, общий для всех приложений и не отключающийся с трекингом - я всяких UUID с разными аббревиатурами в названии нашел 20+.
Получается, что все "такие" приложения собирают просто тонну ваших данных, включая IP и координаты, и все, что как бы мешает биржам рекламы собрать их в историю ваших перемещений - один айдишник, которым эпл не делится с обделенными разрешением приложениями.
Но тут на помощь приходят любезные дата-брокеры и биржи данных вроде Datarade, которые метчат одни записи с другими по разным признакам.
Например, по вашему IP - который в случае с вайфаем общий на все устройства в одной сети.
Так что если кто-нибудь из ваших соседей по квартире разрешает трекинг - ваши данные слипаются в общий клубок (гео)данных.
Не тебя найдем, так твоего родственника или партнера.
После того, как я нашел в списке приложений из поста выше несколько установленных у меня - моментально обзавелся идеей-фикс: проследить, как с моего телефона утекают данные и купить их у какого-нибудь дата брокера извне.
По итогам примерно 10 часов занятий этим:
- Нашел запрос, в котором сливается мое гео, и 5+ запросов, в которых сливается IP
- Узнал много нового про то, как устроены RTB-аукционы и протокол OpenRTB, и просто охуел от того, насколько подробные данные передаются на рекламные биржи
- Обломался с идеей купить базу со своими данными, тк у меня нет ни большой компании (чтобы от ее имени взять триал), ни $10-50к, чтобы купить датасет, в котором будет много миллионов человек и я.
Ну, может и есть, но покупка все равно странная))
Оказалось, что данные "европейцев" чуть ли не самые дорогие.
В качестве сетапа:
- старый iphone (как-то неуютно было делать все на основном)
- charles proxy, чтобы слушать и расшифровывать весь HTTPS-траффик, который отправляет приложение
- игра Stack, в которую я играл в 8 классе - она, как и куча других игр компании Ketchapp (кто помнит такую?), оказалась в списке.
Что я обнаружил:
1. За 1ую секунду работы приложение отправляет 200+ запросов в кучу разных мест - обратите внимание на время справа на видео, между забросами буквально доли секунды.
2. БОльшая часть рекламы "менеджерится" через Unity Ads (и именно сквозь них утекло мое гео) - а я думал, что они на игровом движке 2 ярда зарабатывают :)
3. Приложение собирает и передает на биржи все, что может узнать о вашем телефоне - и некоторые вещи даже непонятно, зачем - например:
- На сколько % заряжен телефон, заряжается ли он сейчас, какая яркость экрана, подключены ли наушники, и если да - какие;
- Все о модели телефона, версии ос, вайфае, операторе связи, установленных языках
- Ну и конечно - IP и координаты, с привязкой ко времени.
Приложение, кстати не запрашивало доступ к геолокации, но все равно узнало мои координаты, и довольно точные - даже на вайфае попали в несколько домов от меня.
Думаю, было бы точнее, если бы в телефоне была симка и я был на лте;
А, и кстати, про IP - он в тч утек в запросе на web.facebook.com.
На телефоне, где не стоит приложение Facebook. Где я, естественно, не синхронизировал друзей и не разрешал фейсбуку собирать никакие мои данные. Как ни странно, шпионских запросов от Тиктока я не увидел :)
И наконец - вишенка на торте!
Выбор опции "Allow app not to track" никак не влияет на то, как собираются эти данные.
Единственное различие - если попросить приложение не следить, Apple не отдает IDFA, - тот самый маркетинговый айдишник телефона, - вместе с гео и всеми остальными данными.
Но при этом отдает IDFV - айдишник для вендора (как раз таки KetchApp), общий для всех игр / приложений от этого разработчика.
Так что если одному приложению условного Playrix'a, KetchApp'a или даже Яндекса вы случайно или специально разрешили трекать вас, то все данные из других приложений тоже подтянутся.
Ну а обменять IDFA на ваше ФИО, почту, телефон и адрес - давно автоматизированная задача. Достаточно денег заплатить.
Больше того - утекает такое безумное количество данных, что я не удивлюсь, если на самом деле есть еще какой-нибудь айдишник, общий для всех приложений и не отключающийся с трекингом - я всяких UUID с разными аббревиатурами в названии нашел 20+.
Получается, что все "такие" приложения собирают просто тонну ваших данных, включая IP и координаты, и все, что как бы мешает биржам рекламы собрать их в историю ваших перемещений - один айдишник, которым эпл не делится с обделенными разрешением приложениями.
Но тут на помощь приходят любезные дата-брокеры и биржи данных вроде Datarade, которые метчат одни записи с другими по разным признакам.
Например, по вашему IP - который в случае с вайфаем общий на все устройства в одной сети.
Так что если кто-нибудь из ваших соседей по квартире разрешает трекинг - ваши данные слипаются в общий клубок (гео)данных.
Не тебя найдем, так твоего родственника или партнера.
🤯17👍1
История про то, какое все хрупкое и дырявое
https://www.oligo.security/blog/cve-2024-50050-critical-vulnerability-in-meta-llama-llama-stack
Есть такая штука - Llama Stack: насадка на ваш сервак, сквозь которую удобнее работать с llama (ллм от Мета), чем напрямую.
Сейчас у нее 6.2k stars на Github (много), но главное - она предлагается по дефолту при настройке AI-first VPS типа AWS Bedrock и аналогов для работы с llama.
Так вот, исследователи из Oligo обнаружили, что ллама-стак использует библиотеку
Эта самая функция - всего 2 строчки кода:
Код выше забирает отправленные на съедение ллм-ке данные с вебсокета и "анпиклит" его.
Чего делает?
picklle это питоновский модуль, который используется для сериализации объектов вроде списков, словарей и классов. Например, в датасаенсе для компактной упаковки и сохранения обученной модели.
Сериализация = превращение объекта в бинарный эквивалент.
Unpickle (десериализация), соответственно - превращения бинаря обратно в питоновский объект.
Звучит вроде норм, но есть нюанс (напоминает мне вот эту историю) - пикл НЕбезопасно ипользовать с хрен пойми какими данными, потому что в процессе распаковки нехорошего бинаря он может выполнить произвольный код.
Цитата из официальной доки пикла:
Кажется, начинаю понимать...
Так вот, в дефолтной реализации API , полученный во время входящего запроса бинарь "анпиклится" в питоновский объект - например, очень-очень длинный словарь или класс.
Исследователи приложили довольно простой Proof of Concept чтобы показать, насколько эта уязвимость критична:
1. Сканируем порты сервера, который хотим захватить. Находим порты, на которых сидит и слушает запросы ллама-стак
2. Шлем туда запакованный объект, который также содержит класс reduce - это такой специальный способ сказать пиклу "распакуй мой объект вот таким кастомным образом".
Например:
3. Вуаля! Пикл распаковывает бинарник, видит класс reduce, применяет указанные в нем команды, и {подставь любое действие}. В данном случае - безобидное создание файлика, но если включить воображение и постараться - можно и сервак угнать.
Для меня это очень показательная история: опенсорсный, созданный фейсбуком и "много звездочек" ≠ безопасный.
Больше того:
1. УТП стака (он так и продвигается на главной llama.com) - “строй быстрее, деплой куда угодно, забей на все остальное, мы позаботимся о безопасности и прочем”.
Ага, спасибо.
2. Страшно представить, сколько всего импортирует llama-stack и аналогичные сложные сервисы - тут это даже не стремная/взломанная библиотека, а просто один метод из 2х строчек, который подвергает риску весь сервак.
В общем, мораль... да нет ее.
Самому эту лламу разворачивать, разве что (жуткий гемор).
Ну и перед тем, как разворачивать дефолтную "решу все твои проблемы" коробку на проде - проконсультируйтесь со специалистом.
Кстати, если вам понравилось и вы не видели пост про похожую проблему с 1 строчкой кода в flutter - тыкайте сюда.
https://www.oligo.security/blog/cve-2024-50050-critical-vulnerability-in-meta-llama-llama-stack
Есть такая штука - Llama Stack: насадка на ваш сервак, сквозь которую удобнее работать с llama (ллм от Мета), чем напрямую.
Сейчас у нее 6.2k stars на Github (много), но главное - она предлагается по дефолту при настройке AI-first VPS типа AWS Bedrock и аналогов для работы с llama.
Так вот, исследователи из Oligo обнаружили, что ллама-стак использует библиотеку
pyzmq для эффективной обработки входящих сообщений, а конкретнее - вызывает функцию recv_pyobj (как следует из названия - получить питоновый объект).Эта самая функция - всего 2 строчки кода:
def recv_pyobj(self, flags: int = 0) -> Any:
msg = self.recv(flags)
return self._deserialize(msg, pickle.loads)
Код выше забирает отправленные на съедение ллм-ке данные с вебсокета и "анпиклит" его.
Чего делает?
picklle это питоновский модуль, который используется для сериализации объектов вроде списков, словарей и классов. Например, в датасаенсе для компактной упаковки и сохранения обученной модели.
Сериализация = превращение объекта в бинарный эквивалент.
Unpickle (десериализация), соответственно - превращения бинаря обратно в питоновский объект.
Звучит вроде норм, но есть нюанс (напоминает мне вот эту историю) - пикл НЕбезопасно ипользовать с хрен пойми какими данными, потому что в процессе распаковки нехорошего бинаря он может выполнить произвольный код.
Цитата из официальной доки пикла:
Warning!
Thepicklemodule is not secure. Only unpickle data you trust.
It is possible to construct malicious pickle data which will execute arbitrary code during unpickling.
Never unpickle data that could have come from an untrusted source, or that could have been tampered with.
Кажется, начинаю понимать...
Так вот, в дефолтной реализации API , полученный во время входящего запроса бинарь "анпиклится" в питоновский объект - например, очень-очень длинный словарь или класс.
Исследователи приложили довольно простой Proof of Concept чтобы показать, насколько эта уязвимость критична:
1. Сканируем порты сервера, который хотим захватить. Находим порты, на которых сидит и слушает запросы ллама-стак
2. Шлем туда запакованный объект, который также содержит класс reduce - это такой специальный способ сказать пиклу "распакуй мой объект вот таким кастомным образом".
Например:
def __reduce__(self):
import os
cmd = 'touch /tmp/pickle_rce_created_this_file.txt && echo RCE'
return os.system, (cmd,)3. Вуаля! Пикл распаковывает бинарник, видит класс reduce, применяет указанные в нем команды, и {подставь любое действие}. В данном случае - безобидное создание файлика, но если включить воображение и постараться - можно и сервак угнать.
Для меня это очень показательная история: опенсорсный, созданный фейсбуком и "много звездочек" ≠ безопасный.
Больше того:
1. УТП стака (он так и продвигается на главной llama.com) - “строй быстрее, деплой куда угодно, забей на все остальное, мы позаботимся о безопасности и прочем”.
Ага, спасибо.
2. Страшно представить, сколько всего импортирует llama-stack и аналогичные сложные сервисы - тут это даже не стремная/взломанная библиотека, а просто один метод из 2х строчек, который подвергает риску весь сервак.
В общем, мораль... да нет ее.
Самому эту лламу разворачивать, разве что (жуткий гемор).
Ну и перед тем, как разворачивать дефолтную "решу все твои проблемы" коробку на проде - проконсультируйтесь со специалистом.
Кстати, если вам понравилось и вы не видели пост про похожую проблему с 1 строчкой кода в flutter - тыкайте сюда.
2🤯8🔥4👍3
Ловец AI-ботов
https://zadzmo.org/code/nepenthes/
Кто-то написал ловушку для crawler'ов, которые собирают данные для обучения ЛЛМок, ну и заодно поисковых роботов.
Работает это так (демо):
1. Заходит кроулер-пасрер к тебе на сайт, начинает ходить по страницам. Видит ссылку на корневую страницу nepenthes, переходит.
2. Переход на страницу специально занимает 2-3 секунды времени кроулера.
На открывшейся странице медленно появляется сгенерированная ахинея и список из 7-8 ссылок на казалось бы статические страницы (с реальным адресом вроде
3. Счастливый бот переходит по каждой ссылке с целью съедения новой странички, и...
4. ну вы уже поняли :) это продолжается вечно, пока либо бот, либо ваш сервак не заебется (если запас CPU есть - не заебется).
Почитал, что про эту ловушку написали в 404медиа, оттуда провалился на форум ycombinator, а там битва между людьми и представителями разнообразных AI-компаний.
СЕО какой-то AI-херни пишет, что мол скрэпперы не такие глупые, не будут застревать в таких лабиринтах на ноунейм сайтах, и все такое.
От себя добавлю, что многие комментаторы, которые говорят, что метод тупой, а роботы умнее, как будто не до конца поняли, как работает Nepenthes: он не просто гоняет робота по замкнутому кругу ссылок, а постоянно создает новые “статические” страницы с новым рандомно сгенеренным текстом и урлом. Ну или может я ничего не понимаю.
А вот люди с сайтами (в тч и автор, который эту ловушку уже неск месяцев у себя крутит) пишут, что у них в логах миллионы заходов AI-кроулеров, например Meta, Google и Perplexity, в том числе и на таких сайтах-ловушках.
И что в целом поделом этим роботам, пусть застревают, тк они плюют на robots.txt и все скрейпят без разрешения.
Например, вот как выглядит кусочек robots.txt Forbes:
По-хорошему, эти правила нужно соблюдать - роботы перечисленных выше агентов не должны собирать никакую инфу с сайта форбс (точно так же, как и с сайтов других изданий), потому что это продукт их труда и интеллектуальная собственность, и если условный OpenAI хочет учиться на их контенте - пусть платит за это (а с некоторыми более принципиальными изданиями, по их заявлениям - пусть идет нахуй).
Но по факту, несоблюдение роботс.тхт не является нарушением закона, так что всякие меты с перплексити плюют на правила и просто скрейпят все что могут.
https://zadzmo.org/code/nepenthes/
Кто-то написал ловушку для crawler'ов, которые собирают данные для обучения ЛЛМок, ну и заодно поисковых роботов.
Работает это так (демо):
1. Заходит кроулер-пасрер к тебе на сайт, начинает ходить по страницам. Видит ссылку на корневую страницу nepenthes, переходит.
2. Переход на страницу специально занимает 2-3 секунды времени кроулера.
На открывшейся странице медленно появляется сгенерированная ахинея и список из 7-8 ссылок на казалось бы статические страницы (с реальным адресом вроде
/keelblock/convocationist/laevotartaric/tetractinellid).3. Счастливый бот переходит по каждой ссылке с целью съедения новой странички, и...
4. ну вы уже поняли :) это продолжается вечно, пока либо бот, либо ваш сервак не заебется (если запас CPU есть - не заебется).
Почитал, что про эту ловушку написали в 404медиа, оттуда провалился на форум ycombinator, а там битва между людьми и представителями разнообразных AI-компаний.
СЕО какой-то AI-херни пишет, что мол скрэпперы не такие глупые, не будут застревать в таких лабиринтах на ноунейм сайтах, и все такое.
От себя добавлю, что многие комментаторы, которые говорят, что метод тупой, а роботы умнее, как будто не до конца поняли, как работает Nepenthes: он не просто гоняет робота по замкнутому кругу ссылок, а постоянно создает новые “статические” страницы с новым рандомно сгенеренным текстом и урлом. Ну или может я ничего не понимаю.
А вот люди с сайтами (в тч и автор, который эту ловушку уже неск месяцев у себя крутит) пишут, что у них в логах миллионы заходов AI-кроулеров, например Meta, Google и Perplexity, в том числе и на таких сайтах-ловушках.
И что в целом поделом этим роботам, пусть застревают, тк они плюют на robots.txt и все скрейпят без разрешения.
robots.txt это список правил для зашедшего бота / для человека, который парсит сайты, в котором написано, какие страницы / директории парсить можно, а какие нельзя, и кому. Например, вот как выглядит кусочек robots.txt Forbes:
User-Agent: PerplexityBot
Disallow: /
...
User-agent: anthropic-ai
Disallow: /
...
User-agent: ChatGPT-User
Disallow: /
...
User-agent: ClaudeBot
Disallow: /
По-хорошему, эти правила нужно соблюдать - роботы перечисленных выше агентов не должны собирать никакую инфу с сайта форбс (точно так же, как и с сайтов других изданий), потому что это продукт их труда и интеллектуальная собственность, и если условный OpenAI хочет учиться на их контенте - пусть платит за это (а с некоторыми более принципиальными изданиями, по их заявлениям - пусть идет нахуй).
Но по факту, несоблюдение роботс.тхт не является нарушением закона, так что всякие меты с перплексити плюют на правила и просто скрейпят все что могут.
🔥9🤯4
Вспомнил, что летом читал очень крутую статью-расследование про Perplexity от WIRED - всем интересующимся AI-бумом очень рекомендую.
https://archive.is/aHuhu
Если очень коротко, авторы в июне 2024 обвинили оцененную на тот момент в 1 млрд Perplexity в:
1. Несоблюдении правил robots.txt с непризнанием своей вины - например, у них был довольно мощный биф с вышеупомянутым Frobes на эту тему.
2. Misleading маркетингом: WIRED выяснили, что Perplexity регулярно выдумывает контент на основании урла (
И то, и другое, на мой взгляд, - жесткие редфлаги для текущих и будущих инвесторов.
Летом 2024, когда я прочитал статью, я подумал: ну все, хана им, доигрались.
Наверное, скоро закроются.
Ага)
Месяц назад Perplexity привлекли $500 млн по оценке в 9 ярдов.
Таких историй много, и на мой взгляд, они очень показательные.
Можно бесконечно переться от YCombinator и Марка Андриссена и от их "вижена", но реальность AI-рынка такова, что качество продукта и стоимость компании часто никак не связаны между собой. Как и в кейсе с devin, про который я писал выше, главное для фаундера - сильно раскрутить и вовремя соскочить, а продукт "подтянется".
Ну а для инвестора - вовремя передать горячую картошку следующему.
https://archive.is/aHuhu
Если очень коротко, авторы в июне 2024 обвинили оцененную на тот момент в 1 млрд Perplexity в:
1. Несоблюдении правил robots.txt с непризнанием своей вины - например, у них был довольно мощный биф с вышеупомянутым Frobes на эту тему.
2. Misleading маркетингом: WIRED выяснили, что Perplexity регулярно выдумывает контент на основании урла (
example.com/nu-vot-naprimer-vot-tak), даже если сама статья вообще про другое. Что как бы лишает AI-поисковик ценности. И то, и другое, на мой взгляд, - жесткие редфлаги для текущих и будущих инвесторов.
Летом 2024, когда я прочитал статью, я подумал: ну все, хана им, доигрались.
Наверное, скоро закроются.
Ага)
Месяц назад Perplexity привлекли $500 млн по оценке в 9 ярдов.
Таких историй много, и на мой взгляд, они очень показательные.
Можно бесконечно переться от YCombinator и Марка Андриссена и от их "вижена", но реальность AI-рынка такова, что качество продукта и стоимость компании часто никак не связаны между собой. Как и в кейсе с devin, про который я писал выше, главное для фаундера - сильно раскрутить и вовремя соскочить, а продукт "подтянется".
Ну а для инвестора - вовремя передать горячую картошку следующему.
🤡6🐳4👍1🔥1
Написал статью про то, как сам себя отследил
https://timsh.org/tracking-myself-down-through-in-app-ads/
Это более подробная версия вот этого расследования с картинками, схемами и большим количеством деталей.
И по совместительству - первая статья, выложенная в моем собственном селф-хостед блоге на домене timsh.org.
Чем пока что обернулось выкладывание статей на англ куда-то (в основном - на reddit):
- Первым был пост про ether-pos.
Собрал мало, но зато мне написал преподаватель, который ведет курс по блокчейну, и попросил использовать ether-pos в своем курсе. Круто же!
- Дальше было шахматное расширение - про него подробно писал тут, не буду пересказывать результаты, но они были гораздо лучше: 100К+ просмотров + я пообщался с СЕО chess.com.
- Чуть меньше месяца назад я написал статью-расследование про скам-схему с туториалами на ютубе.
Пост собрал 250к просмотров на реддите + 3К прочтений самой статьи.
А еще его пошерили несколько крупных cybersec блоггеров в твиттере, на форуме YCombinator итд.
- И вот сегодня утром я выложил статью про утечку геолокации в мобильной рекламе.
За 6 часов собралось уже 37К просмотров + 4К уникальных посетителей на моем сайте.
В общем, гораздо больше охватов, несмотря на то, что на реддите / медиуме / своем сайте у меня пока типа 10 подписчиков. И аудитория, при этом, супер отзывчивая: куча комментариев с критикой, похвалой, вопросами и предложениями.
На выкладывание 1 поста на реддит уходит минута (написать заголовок и прикрепить ссылку).
Зачем мне свой блог?
Все предыдущие посты я выкладывал на Medium, так как не видел других вариантов быстро что-то куда-то выложить.
Чем он мне не нравится:
- 99% постов в ленте это говнотексты с кликбейтными заголовками, сгенерированные ChatGPT.
- Он заблокирован в РФ, из-за чего мне приходилось дублировать все посты в Telegraph.
- На медиуме неудобный редактор и мало видов рич-текста. А еще нет темной темы… позор.
- Самое главное: Медиум за все это время дал мне <1% охватов.
Зачем мне вести людей на чужой сайт, который мне не нравится? При этом, % прочтений от зарегистрированных на медиуме аккаунтов - мизер. Большинство людей, я думаю, не хотят там регаться.
Поэтому я и решил завести свой блог и вести людей туда.
Думаю, еще не раз будет так, что из-за поста со ссылкой на реддите у меня появится крутой коннект / предложение. Ну или просто - много обратной связи, тоже приятно.
В качестве базы для блога я выбрал self-hosted версию Ghost.
Если кому интересно, почему я его выбрал и куда-как захостил - напишите в лс или комменты, выложу про это пост.
https://timsh.org/tracking-myself-down-through-in-app-ads/
Это более подробная версия вот этого расследования с картинками, схемами и большим количеством деталей.
И по совместительству - первая статья, выложенная в моем собственном селф-хостед блоге на домене timsh.org.
Чем пока что обернулось выкладывание статей на англ куда-то (в основном - на reddit):
- Первым был пост про ether-pos.
Собрал мало, но зато мне написал преподаватель, который ведет курс по блокчейну, и попросил использовать ether-pos в своем курсе. Круто же!
- Дальше было шахматное расширение - про него подробно писал тут, не буду пересказывать результаты, но они были гораздо лучше: 100К+ просмотров + я пообщался с СЕО chess.com.
- Чуть меньше месяца назад я написал статью-расследование про скам-схему с туториалами на ютубе.
Пост собрал 250к просмотров на реддите + 3К прочтений самой статьи.
А еще его пошерили несколько крупных cybersec блоггеров в твиттере, на форуме YCombinator итд.
- И вот сегодня утром я выложил статью про утечку геолокации в мобильной рекламе.
За 6 часов собралось уже 37К просмотров + 4К уникальных посетителей на моем сайте.
В общем, гораздо больше охватов, несмотря на то, что на реддите / медиуме / своем сайте у меня пока типа 10 подписчиков. И аудитория, при этом, супер отзывчивая: куча комментариев с критикой, похвалой, вопросами и предложениями.
На выкладывание 1 поста на реддит уходит минута (написать заголовок и прикрепить ссылку).
Зачем мне свой блог?
Все предыдущие посты я выкладывал на Medium, так как не видел других вариантов быстро что-то куда-то выложить.
Чем он мне не нравится:
- 99% постов в ленте это говнотексты с кликбейтными заголовками, сгенерированные ChatGPT.
- Он заблокирован в РФ, из-за чего мне приходилось дублировать все посты в Telegraph.
- На медиуме неудобный редактор и мало видов рич-текста. А еще нет темной темы… позор.
- Самое главное: Медиум за все это время дал мне <1% охватов.
Зачем мне вести людей на чужой сайт, который мне не нравится? При этом, % прочтений от зарегистрированных на медиуме аккаунтов - мизер. Большинство людей, я думаю, не хотят там регаться.
Поэтому я и решил завести свой блог и вести людей туда.
Думаю, еще не раз будет так, что из-за поста со ссылкой на реддите у меня появится крутой коннект / предложение. Ну или просто - много обратной связи, тоже приятно.
В качестве базы для блога я выбрал self-hosted версию Ghost.
Если кому интересно, почему я его выбрал и куда-как захостил - напишите в лс или комменты, выложу про это пост.
tim.sh
Everyone knows your location
How I tracked myself down using leaked location data in the in-app ads, and what I found along the way.
🔥22👍2🕊2
UPD: топ 1 на hackernews (форуме ycombinator)
https://news.ycombinator.com/news
вовремя я сайт завел…
upd2: за 24 часа - 103к посетителей, я в шоке…
🤯🤯🤯
https://news.ycombinator.com/news
вовремя я сайт завел…
upd2: за 24 часа - 103к посетителей, я в шоке…
🤯🤯🤯
🔥43🤯20
Subaru ImpressUs, или как открыть машину, зная только ее номер
https://samcurry.net/hacking-subaru
Прочитал недавно вышедший баг-репорт Сэма Карри - очень крутого баг-баунти хантера, который специализируется на поиске уязвимостей в компаниях-производителях автомобилей.
Сэм рассказывает о том, как год назад купил маме Subaru Impreza нового поколения, к которой по умолчанию прилагается сервис “Starlink” - нет, не спутниковый интернет Маска, а всего лишь умная система управления машиной + ее отслеживания, что-то вроде Find My, но для машин.
Оказалось, что зная номера машины, через эту систему ее можно отследить, открыть и угнать без шума.
Как это часто бывает, самая опасная часть айти-системы - админка для сотрудников, так как защищена она бывает плохо (ну а кто зайдет), а возможностей там просто дохрена.
Вот и в этой истории обнаружилось, что в админке крайне уязвимая апишка, если конкретнее - есть эндпоинт “resetPassword”, который ведет себя вот так:
Дело за малым - нужно найти подходящий емейл сотрудника.
Естественно, корп емейл у Субару, как практически у всех, имеет формат [first_initial][last]@subaru.com, так что достаточно найти ФИО любого сотрудника на линкдине.
Но все-таки, не может же все быть так легко?
И да, и нет.
Для того, чтобы пользоваться функционалом админки после того, как мы вошли туда, сбросив пароль, надо также ввести 2FA - в данном случае, секретный вопрос, вроде “имя первой собаки”. бтв, ужасное решение, никогда не делайте так )
Но вскоре выяснилось, что функционал 2FA реализован… на фронте.
То есть, просто закомментив на уже отрисованном сайте 1 строчку:
/
Итак, мы внутри админки. Что дальше?
Начнем с того, что сотрудник имеет доступ к данным всех покупателей в США, Канаде и Японии (пиздец) - и ему доступен поиск по фио, телефону, и даже номерам машины. Как пишет Сэм, сложно сделать систему безопасной, если в ней предусмотрен такой уровень доступа для любого 18-ти летнего интерна в компании.
Одна из возможностей сотрудника в админке - добавлять верифицированного пользователя в систему Starlink… без уведомления текущих оунеров и юзеров. Ни смс, ни письма на почту, вообще ничего!
То есть, имея доступ в админку, я могу выдать себе доступ к вашей машине, а вы этого даже не узнаете.
А из самой системы Старлинк, наконец, можно:
- Удаленно заводить и останавливать, открывать, закрывать и отслеживать машину. А еще бибикать :)
- Вытащить историю перемещений машины ЗА ПОСЛЕДНИЙ ГОД, размеченную по времени + с информацией о том, когда машину заводили и глушили.
- Получить все персональные данные владельца, включая имена других авторизованных пользователей, домашний адрес и т д.
Хотя кому нужен домашний адрес, когда есть годовая история всех перемещений…
Дальше Сэм с коллегой сделали proof of concept, объединив все находки в одну консольную утилиту: вводишь номер машины, тебя редиректит на Starlink с полным доступом к машине.
Посмотрите видео, это просто полный треш: https://youtu.be/0i8juy6RPBI.
Заключение
Если вы думаете, что такие приколы бывают только с Субару, то можете посмотреть на аналогичную историю с KIA, а также на открытую базу данных Volkswagen, в которой хранится история перемещения ВСЕХ машин марки, включая машины полицейских и сотрудников спецслужб.
А еще советую всем интересующимся посмотреть выступление Сэма на DEFCON (он взломал все модемы очень крупного интернет-провайдера) и подкаст Critical Thinking с его участием: там он, например, рассказывает, к чему приводят его находки (его недавно арестовали на границе в аэропорту и обвинили в какой-то жести. но все хорошо закончилось).
https://samcurry.net/hacking-subaru
Прочитал недавно вышедший баг-репорт Сэма Карри - очень крутого баг-баунти хантера, который специализируется на поиске уязвимостей в компаниях-производителях автомобилей.
Сэм рассказывает о том, как год назад купил маме Subaru Impreza нового поколения, к которой по умолчанию прилагается сервис “Starlink” - нет, не спутниковый интернет Маска, а всего лишь умная система управления машиной + ее отслеживания, что-то вроде Find My, но для машин.
Оказалось, что зная номера машины, через эту систему ее можно отследить, открыть и угнать без шума.
Как это часто бывает, самая опасная часть айти-системы - админка для сотрудников, так как защищена она бывает плохо (ну а кто зайдет), а возможностей там просто дохрена.
Вот и в этой истории обнаружилось, что в админке крайне уязвимая апишка, если конкретнее - есть эндпоинт “resetPassword”, который ведет себя вот так:
POST /forgotPassword/resetPassword.json HTTP/1.1
Host: portal.prod.subarucs.com
{
"email": "random@random.com",
"password": "Example123!",
"passwordConfirmation": "Example123!"
}
{
"error": "Invalid email"
}
Дело за малым - нужно найти подходящий емейл сотрудника.
Естественно, корп емейл у Субару, как практически у всех, имеет формат [first_initial][last]@subaru.com, так что достаточно найти ФИО любого сотрудника на линкдине.
Но все-таки, не может же все быть так легко?
И да, и нет.
Для того, чтобы пользоваться функционалом админки после того, как мы вошли туда, сбросив пароль, надо также ввести 2FA - в данном случае, секретный вопрос, вроде “имя первой собаки”. бтв, ужасное решение, никогда не делайте так )
Но вскоре выяснилось, что функционал 2FA реализован… на фронте.
То есть, просто закомментив на уже отрисованном сайте 1 строчку:
/
/$(‘#securityQuestionModal').modal('show’);, можно спокойно пользоваться всем функционалом сайта. Итак, мы внутри админки. Что дальше?
Начнем с того, что сотрудник имеет доступ к данным всех покупателей в США, Канаде и Японии (пиздец) - и ему доступен поиск по фио, телефону, и даже номерам машины. Как пишет Сэм, сложно сделать систему безопасной, если в ней предусмотрен такой уровень доступа для любого 18-ти летнего интерна в компании.
Одна из возможностей сотрудника в админке - добавлять верифицированного пользователя в систему Starlink… без уведомления текущих оунеров и юзеров. Ни смс, ни письма на почту, вообще ничего!
То есть, имея доступ в админку, я могу выдать себе доступ к вашей машине, а вы этого даже не узнаете.
А из самой системы Старлинк, наконец, можно:
- Удаленно заводить и останавливать, открывать, закрывать и отслеживать машину. А еще бибикать :)
- Вытащить историю перемещений машины ЗА ПОСЛЕДНИЙ ГОД, размеченную по времени + с информацией о том, когда машину заводили и глушили.
- Получить все персональные данные владельца, включая имена других авторизованных пользователей, домашний адрес и т д.
Хотя кому нужен домашний адрес, когда есть годовая история всех перемещений…
Дальше Сэм с коллегой сделали proof of concept, объединив все находки в одну консольную утилиту: вводишь номер машины, тебя редиректит на Starlink с полным доступом к машине.
Посмотрите видео, это просто полный треш: https://youtu.be/0i8juy6RPBI.
Заключение
Если вы думаете, что такие приколы бывают только с Субару, то можете посмотреть на аналогичную историю с KIA, а также на открытую базу данных Volkswagen, в которой хранится история перемещения ВСЕХ машин марки, включая машины полицейских и сотрудников спецслужб.
А еще советую всем интересующимся посмотреть выступление Сэма на DEFCON (он взломал все модемы очень крупного интернет-провайдера) и подкаст Critical Thinking с его участием: там он, например, рассказывает, к чему приводят его находки (его недавно арестовали на границе в аэропорту и обвинили в какой-то жести. но все хорошо закончилось).
samcurry.net
Hacking Subaru: Tracking and Controlling Cars via the STARLINK Admin Panel
On November 20, 2024, Shubham Shah and I discovered a security vulnerability in Subaru’s STARLINK admin panel that gave us unrestricted access to all vehicles and customer accounts in the United States, Canada, and Japan.
🤯11👍7🔥2🤡2
Про self-host
По многочисленным (ха-ха) запросам, написал пост-гайд про то, как я все селфхосчу.
TLDR: Hetzner + Cloudflare + Coolify + Ghost + Plausible = https://timsh.org.
Сетап бюджетный и почти не требует понимания происходящего, выдерживает обычную-приличную нагрузку (у меня до сих пор DAU 10k+ человек).
Уже минимум 2 человека, которым я это рассказал, сделали то же самое и пока довольны.
Нам понадобятся:
VPS на Hetzner
Подходит, если у вас есть иностранная карточка / пейпал.
Если нету - боль и печаль, тк российские провайдеры типа Яндекс Cloud ломят просто жуткие цены за точно такие же VPS.
Возможно тогда дешевле купить домашний небольшой компик типа такого, захостить все на нем и пробросить трафик с домена с помощью cloudflare ssh tunnel. Я так кстати тоже сделал, потом как-нибудь расскажу.
Для хостинга блога + пары статических сайтов + аналитики мне с головой хватает
3 vCPU, 4 GB RAM, 80 GB Disk за 8 евро в месяц (рефералка на 24€, не моя).
Для сравнения, такой же, только 2 ядра вместо 3 на Digital Ocean стоит 24$, а на Яндексе - 3877 руб, ака 40 евро :)
Coolify
Coolify это PaasS как vercel или heroku, только опенсорсный.
Он позволяет раскатывать кучу приложений в 1-5 кликов в красивом интерфейсе.
Ставится за 5 минут по инструкции.
Кулифай из коробки умеет кучу всего, в том числе:
- самостоятельно навешивает реверс-прокси по типу Nginx и получает SSL сертификаты Let's Encrypt,
- умеет слать алерты в телегу и настраивать CI/CD в виде запушил коммит → сервис передеплоился сам
В общем, делать все то, что делать никто не любит и не умеет.
Но самое крутое - это кол-во сервисов, под которые в кулифае есть 1-click installation. Например, любые базы данных (привет managed postgres на digital ocean за 16$/мес), django, и еще 100+ сервисов - полный список тут.
В том числе и...
Ghost
Наконец, ghost - опенсорсная платформа для блоггинга. Он, кстати, есть и в managed версии для тех, кто не хочет все хостить сам.
На мой взгляд, правда, это не имеет никакого смысла, тк самый дешевый тариф дороже VPSки на хецнере + имеет ограничение на кол-во мемберов.
Когда я искал разные базы для собственного блога, я отобрал 2 финальных варианта -
Zola и Ghost.
Zola менее навороченная, без красивой морды, но зато трушная, гигабыстрая и с постами в markdown формате как в Obsidian / Notion.
Но так как я не трушный прогромист, я все-таки выбрал гост за:
- установку в 1 клик
- красивый интерфейс в котором сразу из коробки есть email-рассылки, комментарии и т д
- очень крутой и удобный редактор, гораздо лучше медиума - в нем много видов embed и ричтекст полей, например крутых код-сниппетов.
Plausible (необязательно)
Plausible это опенсорсный селф-хостед аналог Google Analytics, который не использует куки и никому ничего не передает - идея кормить гугол данными людей, которые пришли почитать статьи про приватность и безопасность в интернете мне не улыбается.
Возможностей в нем, конечно, поменьше, но работает отлично. И ставится в кулифае так же в 3 клика.
Cloudflare (необязательно)
Хоть он меня и напрягает, но объективно дает кучу всего за бесплатно.
Я пользуюсь их DNS, анти-ддос капчей и CDN.
Клаудфлер божится, что за время с момента выхода моей последней статьи сэкономил мне 3 TB трафика с помощью своего CDN - может, конечно, преувеличивает, но не сильно.
Без него серваку, скорее всего, пришлось бы тяжко.
Ну вот и все!
На таком стеке и живет https://timsh.org + ether-pos
Пока практически все, что я пытался разворачивать в кулифае, получалось за 15 минут. Кроме... потом расскажу.
Если вы сейчас что-то хостите или планируете в будущем - призываю вас попробовать такой набор и потом написать в комментарии или в личку, как оно вам.
По многочисленным (ха-ха) запросам, написал пост-гайд про то, как я все селфхосчу.
TLDR: Hetzner + Cloudflare + Coolify + Ghost + Plausible = https://timsh.org.
Сетап бюджетный и почти не требует понимания происходящего, выдерживает обычную-приличную нагрузку (у меня до сих пор DAU 10k+ человек).
Уже минимум 2 человека, которым я это рассказал, сделали то же самое и пока довольны.
Нам понадобятся:
VPS на Hetzner
Подходит, если у вас есть иностранная карточка / пейпал.
Если нету - боль и печаль, тк российские провайдеры типа Яндекс Cloud ломят просто жуткие цены за точно такие же VPS.
Возможно тогда дешевле купить домашний небольшой компик типа такого, захостить все на нем и пробросить трафик с домена с помощью cloudflare ssh tunnel. Я так кстати тоже сделал, потом как-нибудь расскажу.
Для хостинга блога + пары статических сайтов + аналитики мне с головой хватает
3 vCPU, 4 GB RAM, 80 GB Disk за 8 евро в месяц (рефералка на 24€, не моя).
Для сравнения, такой же, только 2 ядра вместо 3 на Digital Ocean стоит 24$, а на Яндексе - 3877 руб, ака 40 евро :)
Coolify
Coolify это PaasS как vercel или heroku, только опенсорсный.
Он позволяет раскатывать кучу приложений в 1-5 кликов в красивом интерфейсе.
Ставится за 5 минут по инструкции.
Кулифай из коробки умеет кучу всего, в том числе:
- самостоятельно навешивает реверс-прокси по типу Nginx и получает SSL сертификаты Let's Encrypt,
- умеет слать алерты в телегу и настраивать CI/CD в виде запушил коммит → сервис передеплоился сам
В общем, делать все то, что делать никто не любит и не умеет.
Но самое крутое - это кол-во сервисов, под которые в кулифае есть 1-click installation. Например, любые базы данных (привет managed postgres на digital ocean за 16$/мес), django, и еще 100+ сервисов - полный список тут.
В том числе и...
Ghost
Наконец, ghost - опенсорсная платформа для блоггинга. Он, кстати, есть и в managed версии для тех, кто не хочет все хостить сам.
На мой взгляд, правда, это не имеет никакого смысла, тк самый дешевый тариф дороже VPSки на хецнере + имеет ограничение на кол-во мемберов.
Когда я искал разные базы для собственного блога, я отобрал 2 финальных варианта -
Zola и Ghost.
Zola менее навороченная, без красивой морды, но зато трушная, гигабыстрая и с постами в markdown формате как в Obsidian / Notion.
Но так как я не трушный прогромист, я все-таки выбрал гост за:
- установку в 1 клик
- красивый интерфейс в котором сразу из коробки есть email-рассылки, комментарии и т д
- очень крутой и удобный редактор, гораздо лучше медиума - в нем много видов embed и ричтекст полей, например крутых код-сниппетов.
Plausible (необязательно)
Plausible это опенсорсный селф-хостед аналог Google Analytics, который не использует куки и никому ничего не передает - идея кормить гугол данными людей, которые пришли почитать статьи про приватность и безопасность в интернете мне не улыбается.
Возможностей в нем, конечно, поменьше, но работает отлично. И ставится в кулифае так же в 3 клика.
Cloudflare (необязательно)
Хоть он меня и напрягает, но объективно дает кучу всего за бесплатно.
Я пользуюсь их DNS, анти-ддос капчей и CDN.
Клаудфлер божится, что за время с момента выхода моей последней статьи сэкономил мне 3 TB трафика с помощью своего CDN - может, конечно, преувеличивает, но не сильно.
Без него серваку, скорее всего, пришлось бы тяжко.
Ну вот и все!
На таком стеке и живет https://timsh.org + ether-pos
Пока практически все, что я пытался разворачивать в кулифае, получалось за 15 минут. Кроме... потом расскажу.
Если вы сейчас что-то хостите или планируете в будущем - призываю вас попробовать такой набор и потом написать в комментарии или в личку, как оно вам.
🔥20👍10🐳2
Легализованный криптоскам
https://abnormalsecurity.com/blog/cryptograb-cryptocurrency-fraud-scam-websites-phishing
Последний месяц я довольно много исследую различные SaaS (Scam as a Service) схемы, которые построены по принципу Affiliate - есть некая компания-разработчик, которая предоставляет скам-софт, и “промоутеры”, которые берут на себя распространение этого софта среди жертв за % от украденных денег / полученной прибыли.
На днях мне попалась статья Abnormal про CryptoGrab - “crypto arbitrage affiliate program”, про который я узнал еще пару месяцев назад из обсуждения в чате ETH Security.
Лор CryptoGrab’a: это компания-разработчик, флагманский продукт которой - крипто-дрейнер, который выкачивает все деньги с криптокошелька жертвы.
Они предоставляют кучу шаблонов сайтов и ботов, 1в1 скопированных с популярных криптообменников, бриджей, бирж и прочего, а также сам дрейнер, который автоматически “пилит” деньги между афилиатом и самим криптограбом.
Таким образом, основной репутационный риск и “удар” берет на себя партнер-афилиейт, который хостит свой фишинговый шаблон с дрейнейром, а сами разработчики контактируют только с частью прибыли, тщательно промытой и перемолотой сквозь кучу криптокошельков на разных сетях.
Все бы ничего, преступники как преступники, да вот только ребята из криптогреба в конец оборзели и зарегали под все это юрлицо в Великобритании, чем хвастаются на своем сайте:
А еще их сотрудники выступают на конференциях по “Affiliate Marketing”.
Кстати, если вы не знали, когда вы видите слово “Affiliate” в контексте крипты, трафика и всякого такого - это всегда подразумевает подобную деятельность.
Эти и другие воры и мошенники буквально проводят конференции “для своих”, где обсуждают лайфхаки и последние достижения в сфере "пролива рекламы" на подобный скам и другую чернуху, разнообразные способы поиска новых партнеров, и многое другое. Вот недавно была такая в Барселоне - посещать не стал.
Если вам интересно - можете почитать их подробнейшую документацию на русском, которая просто висит в интернете. Предупреждаю: это не для слабонервных. Это полный пиздец.
Я когда читал это не мог отойти пару дней.
Возникает вопрос - почему их и аналогичных преступников не сажают, хотя про них знают уже как минимум год?
Вот, к примеру, статья Certik от 26 февраля прошлого года. Для тех кто не знает, Certik это одна из крупнейших компаний-аудиторов в крипте, правда, с крайне сомнительным качеством самих аудитов.
Но аудитория и “вес” на рынке у них достаточные, что все, кто в теме, хоть раз слышали название CryptoGrab.
Думаю, что ответов на это несколько:
1. Жертвы мошеннических схем, связанных с криптой - очень уязвимая группа, во многих странах не имеющая адекватного алгоритма по юридическому урегулированию подобных краж.
Всем плевать на дурачка, который потерял свою крипту открыв метамаск не на том сайте.
2. Организаторы схемы - в СНГ, а жертвы - в Европе, США, Канаде, Азии... в общем, везде, кроме СНГ.
У них даже "кодекс" есть такой - не скамить СНГшных соседей.
Потому что ФСБ и прочим в основном плевать на скам иностранцев - пока это не достигает сумасшедших масштабов, они закрывают на это глаза.
И если в случае с RaaS (Ransomware as a Service) в качестве жертв выбираются крупные компании / государственные службы, до которых условному интерполу "есть дело", то до разводки какого-то дурачка-физика дела нет ровным счетом никому.
Вот так как-то.
Будьте очень осторожны, когда хотите сделать что-то с криптой на незнакомом сайте: всегда проверяйте урл до последнего символа, гуглите компанию и отзывы, и все такое.
Масштабы этой схемы - десятки, а может и сотни тысяч сайтов, и миллионы долларов.
https://abnormalsecurity.com/blog/cryptograb-cryptocurrency-fraud-scam-websites-phishing
Последний месяц я довольно много исследую различные SaaS (Scam as a Service) схемы, которые построены по принципу Affiliate - есть некая компания-разработчик, которая предоставляет скам-софт, и “промоутеры”, которые берут на себя распространение этого софта среди жертв за % от украденных денег / полученной прибыли.
На днях мне попалась статья Abnormal про CryptoGrab - “crypto arbitrage affiliate program”, про который я узнал еще пару месяцев назад из обсуждения в чате ETH Security.
Лор CryptoGrab’a: это компания-разработчик, флагманский продукт которой - крипто-дрейнер, который выкачивает все деньги с криптокошелька жертвы.
Они предоставляют кучу шаблонов сайтов и ботов, 1в1 скопированных с популярных криптообменников, бриджей, бирж и прочего, а также сам дрейнер, который автоматически “пилит” деньги между афилиатом и самим криптограбом.
Таким образом, основной репутационный риск и “удар” берет на себя партнер-афилиейт, который хостит свой фишинговый шаблон с дрейнейром, а сами разработчики контактируют только с частью прибыли, тщательно промытой и перемолотой сквозь кучу криптокошельков на разных сетях.
Все бы ничего, преступники как преступники, да вот только ребята из криптогреба в конец оборзели и зарегали под все это юрлицо в Великобритании, чем хвастаются на своем сайте:
CryptoGrab — это официально зарегистрированная компания в нескольких странах, с разрешением на предоставление услуг. При необходимости, мы можем осуществлять платежи с наших корпоративных счетов.
У нас есть оффис и представительство в UK вот ссылка на реестр.
Так же у нас есть налоговый статус и компания в CANADA и лицензия на 5 лет.
А еще их сотрудники выступают на конференциях по “Affiliate Marketing”.
Кстати, если вы не знали, когда вы видите слово “Affiliate” в контексте крипты, трафика и всякого такого - это всегда подразумевает подобную деятельность.
Эти и другие воры и мошенники буквально проводят конференции “для своих”, где обсуждают лайфхаки и последние достижения в сфере "пролива рекламы" на подобный скам и другую чернуху, разнообразные способы поиска новых партнеров, и многое другое. Вот недавно была такая в Барселоне - посещать не стал.
Если вам интересно - можете почитать их подробнейшую документацию на русском, которая просто висит в интернете. Предупреждаю: это не для слабонервных. Это полный пиздец.
Я когда читал это не мог отойти пару дней.
Возникает вопрос - почему их и аналогичных преступников не сажают, хотя про них знают уже как минимум год?
Вот, к примеру, статья Certik от 26 февраля прошлого года. Для тех кто не знает, Certik это одна из крупнейших компаний-аудиторов в крипте, правда, с крайне сомнительным качеством самих аудитов.
Но аудитория и “вес” на рынке у них достаточные, что все, кто в теме, хоть раз слышали название CryptoGrab.
Думаю, что ответов на это несколько:
1. Жертвы мошеннических схем, связанных с криптой - очень уязвимая группа, во многих странах не имеющая адекватного алгоритма по юридическому урегулированию подобных краж.
Всем плевать на дурачка, который потерял свою крипту открыв метамаск не на том сайте.
2. Организаторы схемы - в СНГ, а жертвы - в Европе, США, Канаде, Азии... в общем, везде, кроме СНГ.
У них даже "кодекс" есть такой - не скамить СНГшных соседей.
Потому что ФСБ и прочим в основном плевать на скам иностранцев - пока это не достигает сумасшедших масштабов, они закрывают на это глаза.
И если в случае с RaaS (Ransomware as a Service) в качестве жертв выбираются крупные компании / государственные службы, до которых условному интерполу "есть дело", то до разводки какого-то дурачка-физика дела нет ровным счетом никому.
Вот так как-то.
Будьте очень осторожны, когда хотите сделать что-то с криптой на незнакомом сайте: всегда проверяйте урл до последнего символа, гуглите компанию и отзывы, и все такое.
Масштабы этой схемы - десятки, а может и сотни тысяч сайтов, и миллионы долларов.
Abnormal AI
Multi-Layered Cryptocurrency Fraud via CryptoGrab
CryptoGrab, a global cryptocurrency affiliate network, has been defrauding users of millions for more than 5 years using phishing emails and other tactics.
🤯10👍6🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Самый большой диван, который можно передвинуть за угол
https://www.quantamagazine.org/the-largest-sofa-you-can-move-around-a-corner-20250214/
Очень прикольная история!
В 1966 году математик Лео Мосер сформулировал задачу “moving sofa”:
Представим себе коридор шириной 1 ед с поворотом на 90° в конце.
Задача - найти максимально большой по площади двумерный диван, который можно продвинуть через угол.
Как оказалось, задача эта ни разу не тривиальная, и на ее решение ушло больше 50 лет.
Даже интереснее: в 1992 другой ученый по фамилии Гервер предложил супер нетривиальную форму дивана (на видео), при которой площадь достигает 2.2195 ед^2.
Но ни он, ни другие математики не могли формально доказать, что эта форма является оптимальной.
Пара интересных моментов:
- По сути, задача сводится к нахождению функции расчета площади произвольной двумерной фигуры.
Вот только в общем случае она не решается!
Простой пример: сравните формулу расчета площади круга и треугольника - ничего общего.
- Форма дивана Гервера состоит из 18 элементов сложной формы, и ее площадь не описывается ни в каких известных величинах (π и прочих).
Но, тем не менее, она является оптимальным решением задачи “двигающегося дивана”.
И вот в декабре 2024 молодой корейский математик Jineon Baek представил свое доказательство оптимальности дивана Гервера.
Он представил все допустимые варианты формы дивана в качестве точек бесконечно-мерного пространства, и создал такую фукнцию Q, которая удовлетворяла нескольким условиям:
- Для произвольной точки в пространстве диванов Q выдает значение, больше или равное площади дивана такой формы.
- Для точки, соответсвтующей дивану Гервера, значение Q = фактической площади дивана.
- Функция “ведет себя” похоже на параболу
Дальше ему оставалось доказать, что функция достигает максимума как раз в точке Q - тогда диван Гервера будет оптимальным решением задачи о перетаскивании дивана. Что он и сделал в своей 119-ти страничной работе.
Кстати, Герверу сейчас 75 и, с его слов, ему “повезло дожить до момента”, когда его решение наконец обосновали. Мощно!
Красивый и немного безумный мир математических задач, сформулировать которые может даже ребенок, а вот решать некоторые из них 30 лет, а потом еще 30 лет доказывать оптимальность решения)
https://www.quantamagazine.org/the-largest-sofa-you-can-move-around-a-corner-20250214/
Очень прикольная история!
В 1966 году математик Лео Мосер сформулировал задачу “moving sofa”:
Представим себе коридор шириной 1 ед с поворотом на 90° в конце.
Задача - найти максимально большой по площади двумерный диван, который можно продвинуть через угол.
Как оказалось, задача эта ни разу не тривиальная, и на ее решение ушло больше 50 лет.
Даже интереснее: в 1992 другой ученый по фамилии Гервер предложил супер нетривиальную форму дивана (на видео), при которой площадь достигает 2.2195 ед^2.
Но ни он, ни другие математики не могли формально доказать, что эта форма является оптимальной.
Пара интересных моментов:
- По сути, задача сводится к нахождению функции расчета площади произвольной двумерной фигуры.
Вот только в общем случае она не решается!
Простой пример: сравните формулу расчета площади круга и треугольника - ничего общего.
- Форма дивана Гервера состоит из 18 элементов сложной формы, и ее площадь не описывается ни в каких известных величинах (π и прочих).
Но, тем не менее, она является оптимальным решением задачи “двигающегося дивана”.
И вот в декабре 2024 молодой корейский математик Jineon Baek представил свое доказательство оптимальности дивана Гервера.
Он представил все допустимые варианты формы дивана в качестве точек бесконечно-мерного пространства, и создал такую фукнцию Q, которая удовлетворяла нескольким условиям:
- Для произвольной точки в пространстве диванов Q выдает значение, больше или равное площади дивана такой формы.
- Для точки, соответсвтующей дивану Гервера, значение Q = фактической площади дивана.
- Функция “ведет себя” похоже на параболу
Дальше ему оставалось доказать, что функция достигает максимума как раз в точке Q - тогда диван Гервера будет оптимальным решением задачи о перетаскивании дивана. Что он и сделал в своей 119-ти страничной работе.
Кстати, Герверу сейчас 75 и, с его слов, ему “повезло дожить до момента”, когда его решение наконец обосновали. Мощно!
Красивый и немного безумный мир математических задач, сформулировать которые может даже ребенок, а вот решать некоторые из них 30 лет, а потом еще 30 лет доказывать оптимальность решения)
🔥31🤯6👍2🤡1
Почему не стоит скачивать моды для игр и кряки приложений с гитхаба
https://timsh.org/github-scam-investigation-thousands-of-mods-and-cracks-stealing-your-data/
Написал большую статью-расследование про относительно новый вид скама: злоумышленники создают сотни отравленных репозиториев с красиво оформленным readme и архивом (или просто ссылкой) под видом разных программ - в основном, модов для игр и крякнутых приложений вроде фотошопа и FL Studio.
Вкратце
- Я нашел гайд на форуме по “социальной инженерии” под названием “Как проливать Github от А до Я”, коротко пересказал алгоритм, который предлагает автор, и без труда нашел несколько примеров вредоносных репозиториев.
Особое внимание в инструкции уделяется “топикам” - это как хештеги на гитхабе.
Благодаря ним, когда кто-нибудь гуглит “roblox cheat download for pc”, в выдаче появляется заветный репозиторий - даже если у него 0 звезд.
- Написал скрипт, который перебрал все топики, составленные по рекомендациям автоар гайда (ограничил до 2100 штук, а то пришлось бы очень долго ждать), и нашел 1115 репозиториев, созданных по этой инструкции.
Только у 10% из них были открытые issue - единственные индикаторы того, что с репозиторием что-то не так, и качать его не надо. Все остальные выглядят абсолютно “нормально”.
Все репозитории, кстати, я сложил в одну табличку.
- Нашел в одном из репозиториев открытую issue, в которой какой-то хороший человек приложил распакованный код их архива на питоне.
Я изучил весь код и обнаружил, что это видоизмененная версия стилера Redox - программы, которая по-тихому ищет на компьютере жертвы все самое ценное - банковские данные, криптокошельки, логины/пароли от всего, до чего может дотянуться, - и отправляет на анонимный Discord-сервер.
Злоумышленник получает уведомление с каждым новым “логом” - так называют архив из украденного, - и перебирает все с целью вывода денег на свои кошельки либо продажи.
Кстати, оказалось, что очень много предложений по продаже игрового инвентаря на всяких маркетплейсах и форумах оставляют именно такие “хакеры”, которые продают украденное.
Судя по замечаниям автора гайда и людей в комментариях под ним - в “хорошее время” с нескольких дестяков репозиториев злоумышленники собирают по 50-100 логов в день.
В общем, жуть и мрак.
Конечно же, Github не единственный способ распространения таких модов “с сюрпризом”, и наверняка их гораздо больше тысячи - я сремился написать наиболее простой и топорный скрипт, чтобы продемонстрировать, сколько этого говна лежит на самой поверхности.
Желания качать все бесплатно у меня лично поубавилось :)
Кстати, в этот раз я решил сам выложить статью на hackernews, и снова попал в топ-1 🚀
Может там найдется кто-нибудь из представителей гитхаба и поможет удалить все эти вирусные репозитории (на месте которых появятся новые).
https://timsh.org/github-scam-investigation-thousands-of-mods-and-cracks-stealing-your-data/
Написал большую статью-расследование про относительно новый вид скама: злоумышленники создают сотни отравленных репозиториев с красиво оформленным readme и архивом (или просто ссылкой) под видом разных программ - в основном, модов для игр и крякнутых приложений вроде фотошопа и FL Studio.
Вкратце
- Я нашел гайд на форуме по “социальной инженерии” под названием “Как проливать Github от А до Я”, коротко пересказал алгоритм, который предлагает автор, и без труда нашел несколько примеров вредоносных репозиториев.
Особое внимание в инструкции уделяется “топикам” - это как хештеги на гитхабе.
Благодаря ним, когда кто-нибудь гуглит “roblox cheat download for pc”, в выдаче появляется заветный репозиторий - даже если у него 0 звезд.
- Написал скрипт, который перебрал все топики, составленные по рекомендациям автоар гайда (ограничил до 2100 штук, а то пришлось бы очень долго ждать), и нашел 1115 репозиториев, созданных по этой инструкции.
Только у 10% из них были открытые issue - единственные индикаторы того, что с репозиторием что-то не так, и качать его не надо. Все остальные выглядят абсолютно “нормально”.
Все репозитории, кстати, я сложил в одну табличку.
- Нашел в одном из репозиториев открытую issue, в которой какой-то хороший человек приложил распакованный код их архива на питоне.
Я изучил весь код и обнаружил, что это видоизмененная версия стилера Redox - программы, которая по-тихому ищет на компьютере жертвы все самое ценное - банковские данные, криптокошельки, логины/пароли от всего, до чего может дотянуться, - и отправляет на анонимный Discord-сервер.
Злоумышленник получает уведомление с каждым новым “логом” - так называют архив из украденного, - и перебирает все с целью вывода денег на свои кошельки либо продажи.
Кстати, оказалось, что очень много предложений по продаже игрового инвентаря на всяких маркетплейсах и форумах оставляют именно такие “хакеры”, которые продают украденное.
Судя по замечаниям автора гайда и людей в комментариях под ним - в “хорошее время” с нескольких дестяков репозиториев злоумышленники собирают по 50-100 логов в день.
В общем, жуть и мрак.
Конечно же, Github не единственный способ распространения таких модов “с сюрпризом”, и наверняка их гораздо больше тысячи - я сремился написать наиболее простой и топорный скрипт, чтобы продемонстрировать, сколько этого говна лежит на самой поверхности.
Желания качать все бесплатно у меня лично поубавилось :)
Кстати, в этот раз я решил сам выложить статью на hackernews, и снова попал в топ-1 🚀
Может там найдется кто-нибудь из представителей гитхаба и поможет удалить все эти вирусные репозитории (на месте которых появятся новые).
tim.sh
Github scam investigation: Thousands of "mods" and "cracks" stealing your data
How I found 1000+ malicious repositories spread on Github
🔥23🤯7🌭2
Про квантовый криптоанализ
https://www.cs.auckland.ac.nz/~pgut001/pubs/bollocks.pdf
Есть такой список топ-10 самых популярных киберугроз - OWASP Top 10.
С 2017 он остается примерно одинаковым - меняются только названия. В топе всякие инъекции, мисконфигурации и т д.
Но есть еще всякие "модные" эксплойты криптографических и аппаратных уязвимостей вроде POODLE, Spectre, Rowhammer ... Знаете, что у них общего?
Никто ими не пользуется!
Есть как минимум 17244 более простых способа хакнуть что-то (согласно списку OWASP 100,000, в котором все конкретные методы / технологии атаки отсортированы по частоте использования).
Автор сравнивает такие угрозы с "Толстым Густавом" - гигантской немецкой пушкой, разработанной в 1930е.
Огромная (1350 тонн), супер-мощная, но на практике ужасно дорогая и практически бесполезная: для ее перевозки был нужен полутораметровый поезд и от 2 до 4 тысяч человек для установки.
То же самое касается перебора RSA-ключей длиной от 100 бит на суперкомпьютерах - в теории можно, но никто не будет заниматься этим.
Анекдот от автора:
Но как же квантовые компьютеры и конец всему non-Quantum-resistant шифрованию?
Вокруг квантовых вычислений очень много хайпа, в том числе паники на тему устойчивости RSA публичных ключей к факторизации.
Под факторизацией подразумевается задача вида:
Есть огромное число N (публичный ключ) = A x B, где A и B - какие-то простые числа.
Задача: найти A и B.
На эту тему - еще одна историческая справка-анекдот от автора:
На текущий момент квантовые компьютеры не способны ни на какую (даже несерьезную) факторизацию, те нахождение этих самых A и B.
Более того, в обоих экспериментах числа были специально выбраны заранее и ученые знали A и B до факторизации, - согласитесь, не очень похоже на реальную атаку.
Даже если предположить, что квантовые компьютеры линейно масштабируются (пока что гораздо хуже, чем линейно), до перебора RSA ключей нам еще где-то 2000 лет.
Писал довольно давно про скандал с NIST и упоминал там их список PQC - Post-Quantum Cryptography - алгоритмов.
Мало того, что они менее эффективные и быстрые по сравнению с "традиционными" RSA-алгоритмами, так еще их мало тестировали - со слов автора, практически половину из этих NIST-approved PQC алгоритмов уже смогли взломать (нашел 1 пруф, дальше не искал).
Дальше длинный ироничный квиз с простым посылом: весь шум покруг пост-квантовых алгоритмов не имеет ничего общего с реальностью, однако всем веселее заниматься именно ими: ученые получают более "хайповую" научную статью, журналисты - мощный пост-апокалиптический инфоповод.
Что в этом плохого?
1. Фиксация на всех этих вымышленных атаках и способах борьбы с ними отнимает ресурсы у решения настоящих проблем.
А они все еще встречаются на каждом шагу, даже среди гигантских компаний - вспомните недавнюю историю про субару для примера.
2. Имплементация экспериментальных, плохо оттестированных и очень сложных алгоритмов практически гарантированно ведет к ошибкам и уязвимостям и создает еще больше проблем, не решая старых.
Зато ученым есть чем заняться, программистам - в чем поковыряться, а вендорам - что новенького продать)
https://www.cs.auckland.ac.nz/~pgut001/pubs/bollocks.pdf
Есть такой список топ-10 самых популярных киберугроз - OWASP Top 10.
С 2017 он остается примерно одинаковым - меняются только названия. В топе всякие инъекции, мисконфигурации и т д.
Но есть еще всякие "модные" эксплойты криптографических и аппаратных уязвимостей вроде POODLE, Spectre, Rowhammer ... Знаете, что у них общего?
Никто ими не пользуется!
Есть как минимум 17244 более простых способа хакнуть что-то (согласно списку OWASP 100,000, в котором все конкретные методы / технологии атаки отсортированы по частоте использования).
Автор сравнивает такие угрозы с "Толстым Густавом" - гигантской немецкой пушкой, разработанной в 1930е.
Огромная (1350 тонн), супер-мощная, но на практике ужасно дорогая и практически бесполезная: для ее перевозки был нужен полутораметровый поезд и от 2 до 4 тысяч человек для установки.
То же самое касается перебора RSA-ключей длиной от 100 бит на суперкомпьютерах - в теории можно, но никто не будет заниматься этим.
Анекдот от автора:
NSA employee:
> There’s a 1024-bit key I’d like to factor
NSA boss:
> Tell me more
> It’s pretty straightforward, we just need to shut
down Los Alamos (Oak Ridge, LLNL, whatever)
for a year to do it
> Makes note to ping HR about their employee
mental health screening procedures
Но как же квантовые компьютеры и конец всему non-Quantum-resistant шифрованию?
Вокруг квантовых вычислений очень много хайпа, в том числе паники на тему устойчивости RSA публичных ключей к факторизации.
Под факторизацией подразумевается задача вида:
Есть огромное число N (публичный ключ) = A x B, где A и B - какие-то простые числа.
Задача: найти A и B.
На эту тему - еще одна историческая справка-анекдот от автора:
The first quantum factorisation was done in 2001
• It factored the number 15
• Not a 15-digit number
• Not even a 15-bit number
• The product of 3 × 5
• The same could be achieved with a dog trained to bark three times
The next record was set in 2012
• The number factored was 21, 3 × 7
• The same dog was used to match this new record
На текущий момент квантовые компьютеры не способны ни на какую (даже несерьезную) факторизацию, те нахождение этих самых A и B.
Более того, в обоих экспериментах числа были специально выбраны заранее и ученые знали A и B до факторизации, - согласитесь, не очень похоже на реальную атаку.
Даже если предположить, что квантовые компьютеры линейно масштабируются (пока что гораздо хуже, чем линейно), до перебора RSA ключей нам еще где-то 2000 лет.
Писал довольно давно про скандал с NIST и упоминал там их список PQC - Post-Quantum Cryptography - алгоритмов.
Мало того, что они менее эффективные и быстрые по сравнению с "традиционными" RSA-алгоритмами, так еще их мало тестировали - со слов автора, практически половину из этих NIST-approved PQC алгоритмов уже смогли взломать (нашел 1 пруф, дальше не искал).
Дальше длинный ироничный квиз с простым посылом: весь шум покруг пост-квантовых алгоритмов не имеет ничего общего с реальностью, однако всем веселее заниматься именно ими: ученые получают более "хайповую" научную статью, журналисты - мощный пост-апокалиптический инфоповод.
Что в этом плохого?
1. Фиксация на всех этих вымышленных атаках и способах борьбы с ними отнимает ресурсы у решения настоящих проблем.
А они все еще встречаются на каждом шагу, даже среди гигантских компаний - вспомните недавнюю историю про субару для примера.
2. Имплементация экспериментальных, плохо оттестированных и очень сложных алгоритмов практически гарантированно ведет к ошибкам и уязвимостям и создает еще больше проблем, не решая старых.
Зато ученым есть чем заняться, программистам - в чем поковыряться, а вендорам - что новенького продать)
👍9🔥5🤡1🥴1