Ivan's work&life thoughts
581 subscribers
369 photos
8 videos
3 files
108 links
Попытка забложить
@jnovikov
Download Telegram
На этот раз сгоняли на CTF в Саудовскую Аравию.

Отчёт напишу потом, но из важного - никто не предъявил за шорты
🔥22👍3👏1
В общем-то из Саудовской Аравии мы уехали призерами очередного международного CTF.

На самом деле 4/100 место это круто, но мы могли гораздо лучше, поэтому слегка грустно.

Хотите подробный отчет/рассказ?
👍39🔥93
Обещал вам рассказ про CTF в Саудовской Аравии. Чтож пора.

Начнем с формата: CTF шёл 3 дня, но каждый день организаторы давали новый набор задач без возможности дорешать задачи предыдущего дня.
Это достаточно сильно отличается от хардкорных 24/48-часовых CTFов, где нужно выбирать между сном и решением задач, и как мне кажется, такой формат более щадящий.

Итак, нас ждало 3 дня jeopardy.
Мы ехали на CTF с мыслью, что мы легко войдём в топ-3, т.к до этого в Дубае заняли 1-е место с отрывом в 2 раза по очкам от второго.
Но все оказалось немного сложнее...
🔥18
День 1. На CTF должно было приехать 5 игроков.

Один из нас пропустил самолёт и не смог приехать на первый день.
Я прилетел в страну за 4 часа до начала соревнований после рабочего дня и двух 4-х часовых перелетов.
Мы показали плохой (для нас) результат, закончив на шестом месте. А призы с пятого 🥲.
Могли ли мы решить все задачи? Скорее нет.
Могли ли мы решить на первое место? Скорее да.
В общем-то мы словили достаточно серьезный тильт, заглушить который немного помог дешёвый свежевыжатый сок.
Ну, и пошли спать, ожидая что завтра мы сможем лучше.
🔥13😢9
День 2. Все в сборе, начинаем решать.

Решаем хорошо, много задач удалось закончить, в какой-то момент мы были топ-3.
Я и Кирилл решали интересный веб-таск, мы решили 70% задачи, но дальше не могли никак докрутить решение. В итоге, мы зашли не туда: пытались очень хитро эксплуатировать XSS, вместо того, чтобы вспомнить про Hop-By-Hop. Оказалось, что только этот кусочек пазла и отделял нас от цели.
Плюс в этот день вместо адекватных задачек на форенсику (цифровую криминалистику), организаторы дали задачу на анализ ROM'а (образа игры под GameBoy). В итоге из 3х задач на форенсику мы решили 0.

Итог дня: мы решили сильно больше задач, чем в предыдущий день, но всё равно закончили на 6-ом месте 🥲.
Тильт, жёсткий тильт. Но нам повезло: организаторы отвезли нас покушать в местный fancy ресторан, где у нас была уникальная возможность поговорить с молодыми арабами, послушать про культуру и религию, поговорить о стереотипах и жизни в Аравии.
Ну, и закончили мы день соками, потому что дёшево и вкусно.
7👍4🥰4
День 3. Финальный
В общем-то результат вы уже знаете, так что интриги для вас нет.

После первых двух дней соревнований настроение команды было так себе и план был попасть в топ-5. Мы начали решать, и решали, решали, кажется просто не отвлекаясь. За час до конца у нас была не решена одна задача из контеста. Задача кстати оказалась достаточно уцуцужной форенсикой.
Примечание автора:
Уцуцуга - угадайка в задачах на CTFерском слэнге.
Форенсика - цифровая криминалистика.


Задачи показались нам не сильно сложными и нам казалось, что остальные команды их решили. И как назло, организаторы устроили заморозку скорборда. Мы не знали на каком мы месте. Но методом shoulder-surfing'а мы выяснили что команда со вчерашнего 5го места не решила 2 или 3 задачи!
Как же было приятно узнать что мы закончили аж на четвертом месте!

Подытожив, хочется сказать, что этот контест стал для нас уроком, ведь мы могли занять место выше.
Надеюсь, мы приедем ещё раз и покажем результат лучше.💪
13👍2
Мини-пк боярин
🔥23😱21👍1
Уже больше года как мы живем в Ирландии.

Есть что рассказать и про работу, и про жизнь.
Конечно, для многих Гугл это компания мечты и вообще мировой гигант. Забавно, но после года работы воспринимаешь это абсолютно обыденно: «Да пиво в офисе, прикольно. Ну да, еда бесплатная, ну а че.». Дублинский офис считается самым большим в Европе, однако разработчиков конкретно в Дублине немного, и наша команда по-сути одна из немногих больших команд тут, так что есть ощущение некой ламповости. Сам офис конечно крутой: бассейн, зал, врач в офисе и это еще не все. Я только через полгода начал пользоваться многими благами офиса и уже не особо представляю как буду без них (особенно без тренеров).

Команда у меня очень хорошая, есть с кем пообщаться и пошутить, есть что поделать и можно не только перекладывать протобафы. Конечно у Гугла есть много минусов, но о них я напишу если уйду или смогу их перебороть, все-таки 1 год работы это не так много в такой огромной корпорации.
Из важного - я привык к Java, в целом в Гугле писать на ней норм. Но вообще хочу попробовать развести команду на kotlin в новых проектах или поменять команду в будущем, благо в Гугле такая возможность есть.

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

Мне понравился Ирландский климат (ходить 50% времени в кофте - это тупа кайф). А для дождевой погоды есть work from home. Мне нравится Ирландский темп жизни, как смотрится на детях зеленая школьная форма и как тут много собанек.
Конечно беды с жильем, налоги огромные, к доктору фиг запишешься просто так, но Ирландия все-равно привлекает и не хочешь никуда уезжать.

Ирландское море сильно помогло в конце февраля, когда даже вставать с кровати не хотелось.

В целом достаточно сложно объяснить почему в Ирландии хорошо. Оно как-то просто хорошо.

Главная проблема Ирландии для меня so far - шенген и визы. Ирландия не шенген, извольте получать визы. С ними было все не очень и до войны, теперь все еще хуже, что будет дальше - посмотрим.

И вообще страшно осознать что уже год как я начинаю свой рабочий день с «Good morning». Каждый рабочий день пишу и говорю на английском с многокультурной командой, и иногда хожу с ними пить свежевшее пиво в пабы которым по 100-200 лет.

Не покидает ощущение что Москва была вообще в прошлой жизни. Я безусловно скучаю по этой прошлой жизни, скучаю по преподаванию и немного скучаю по Москве. Если после двух месяцев в Ирландии было ощущение что мы поживем тут пару лет и вернемся, то сейчас возвращаться скорее не хочется. И это не только «А что случилось?».

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

Говорят первый год эмиграции самый сложный - если это так, то кажется дальше будет лучше, ну посмотрим.
39👍7
Я ещё не решил писать ли про итоги и год.

На 2023 есть одно желание и оно абсолютно очевидное.
👍20
Завтра буду проводить собеседование на стажировку в Гугол. (STEP 2023)

Я уже провел 10+ собесов на FTE, но тут нужно прям отдельно готовиться.

Нахлынула ностальгия как я проходил свои собесы и сколько всего с тех пор произошло.
🔥16👍4🤯2
Ivan's work&life thoughts
А вот и сразу выдам второй пост, раз нашел минутку. Вчера мы провели Stay ~ CTF 2022. Attack-Defence на 8 часов. Я написал на соревнования два сервиса, один сервис был очень интересный — нужно было найти а-ля зеродэй в ONNX от Microsoft. Второй сервис был…
На прошлой неделе после долгой переписки и затишья мне таки написали ребята из Snyk. Результат - мой первый CVE.

TLDR — CVE-2022-25882.

В начале прошлого года мы проводили CTF, где я сделал сервис с "типа 0-day" в около-популярной либке для ML от Microsoft.

Изначально я зарепортил это в MS, где мне ответили что это "outside of security program scope" и я с чистой совестью дал это на CTF, а потом (после CTF'а) зарепортил на гитхаб и прислал патч.

Через некоторое время со мной связались ребята из Snyk со письмом вида: "чел, это CVE, вообще надо бы говорить юзерам onnx и onnxruntime". После нескольких раундов общения (POC, какие пакеты/либы были задеты и тд) наступило долгое затишье на ответ от вендора. Вендор в данном случае - opensource, но по-сути главные ментейнеры из Microsoft.

И вот спустя несколько месяцев мне пишут что таки дают CVE, т.к. вышла новая версия с моим патчем.

В целом я прекрасно жил и без CVE, но все-равно приятно. Ну и приятно что я сделал что-то слегка безопасней своим говнокодом на плюсах.
👍16🔥15
Круглая дата в год была вчера.

Медиазона и BBC установили что погибло более 15 тысяч российских военных. Больше чем за 9 лет в Афганистане.

https://zona.media/casualties
😢82😱2👎1
Мне тут не посчастливилось более плотно прикоснуться к Ирландскому здравоохранению.

Итак: мне плохо пару дней и лучше не становится. Встал вопрос, как получить срочную медицинскую помощь в Дублине/Ирландии. После чтения интернета и чатов сложилась следующая картина:
1. Есть GP(общий врач), но это не для случаев когда тебе прям плохо, да и запись к GP может быть только на следующую неделю.
2. Есть Emergency Department в больницах. Туда можно прийти, если помощь нужна срочно и если можешь дойти сам.
3. Есть скорая, но она платная. Причем стоит достаточно дорого, насколько мне известно. Подразумевается что ты вызываешь её, если тебе критически плохо и ты не сможешь сам добраться до Emergency. Я так понимаю, скорая может провести первичный осмотр, но потом всё-равно отвезёт тебя в Emergency Department.

Я был не в критическом состоянии и пошёл своими ногами (на такси) в Emergency Department ближайшего госпиталя. Там с меня взяли 100 евро и попросили подождать осмотра. Я просидел часов 5-6, пока меня посмотрел настоящий доктор. За это время меня конечно посмотрели медсестры, взяли пару анализов и дали обезбол. Но время ожидания обезболивающего 3 часа (медсёстры просто не успевают позаботиться обо всех пациентах).
Как только меня посмотрел доктор, он сказал что мне стоит лечь в больницу. Через час приехал таксист (которого оплатил не я) и забрал меня в St Vincent Hospital.

Далее опыт был скорее положительный, я ожидал худшего. Палаты в публичном госпитале хорошие: 5-6 коек, один душ и туалет на палату. У каждой кровати есть плотная шторка (privacy!), есть розетки около кровати, столик и вообще, всё более-менее комфортно.
К тебе приходят врачи, назначают процедуры, приносят таблетки. У тебя нет необходимости выходить из палаты. Если тебе нужно сходить на процедуру или анализ, тебе предложат доехать на кресле с помощью медсестры. Конечно можно отказаться и дойти самому.

Из непривычного: ты можешь уже в больнице долго чего-то ждать. Например, врач говорил, что я могу ждать МРТ 5 дней. Конечно, если твоей жизни что-то угрожает или у тебя очень серьезная боль, тебе постараются помочь быстрее. Мне повезло, МРТ сделали быстрее, чем обещали. Всё мое пребывание в больнице уложилось в неделю.

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

Из неприятного: лёгкий бардак в больнице.
Как это было для меня:
Никто не спросил про страховку и поэтому первые дни я лежал в публичном госпитале, хотя мог бы и в приватном.
Забывали кормить. Назначают анализ на завтра (нельзя есть и пить после полуночи). Ты, голодный, ждёшь анализа и в районе обеда оказывается, что анализ перенесли на следующий день. Обед тебе не принесут, потому что медсёстры забыли, что анализ перенесли, а значит, кормить можно.
Хотя этот бардак иногда и помогал. Когда мне сказали что МРТ ждать 5 дней, я уже смирился и был готов ждать. На следующий день мне дали завтрак, а через час пришла сестра и спросила "Много ли я поел?". Оказывается, в бухгалтерии что-то напутали и можно бежать на МРТ. Хорошо, что я тогда почти не ел 🙂

А сколько всё это стоит? Если есть страховка, то зависит от страховки. В моём случае всё лечение должно быть покрыто. Если страховки нет, то один день в публичном госпитале стоит 80 евро в день. При этом, в течение 12 месяцев с тебя не могут взять более 800 евро.
В общем-то по-божески, но с Ирландскими налогами хотелось бы лучшее качество медицины: меньше ждать анализов и врачей, ну, и видеть последних не раз в день. Из-за нехватки персонала был случай, когда ко мне вообще не пришёл врач и следовательно, я не знал результатов МРТ и последующего лечения, просто потому, что мой врач зашивал пациента, приехавшего на скорой. Надеюсь с зашитым все хорошо 🙂
13😱7👏2
Подытоживая, про ирландскую медицину могу сказать, что ждать долго, стоит дорого, качество могло быть и получше, но в целом, жив будешь.
10👍1
PS: спасибо моей жене, которая заставила меня сходить в emergency. Если бы не она, я думаю еще бы дня два точно терпел как мужык и ныл.
16👍3😁2
Вчера еще раз убедился что транспортная система Дублина мягко говоря не очень.

Чтобы добраться из района А в район Б тебе нужно сначала приехать в центр города.
А потом чтобы из района Б попасть в район В вам нужно ... Правильно! Доехать почти в центр города!

И все это чтобы забрать тортик для жены на её день рождения (который кстати сегодня).
8👏4
Тут на днях опубликовали интересную уязвимость.

Уязвимость качается стандартной утилиты для создания скриншотов на Google Pixel.

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

https://andreapavone.com/2023/03/cve-2023-21036-acropalypse/

И как это обычно бывает, бага это очень детская.
А именно отсутствие O_TRUNC при открытии файла на запись.

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

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

В общем-то, грустная история о том, почему баги на клиентских приложениях это очень страшно, особенно если это может повлиять на privacy.

Ну, и мораль: лучше тестируйте код. Сейчас кажется очевидно, что надо было бы добавить тест вида "Размер файла поменялся после кропа."
Но скорее всего вместо него написали более функциональный "Прочитай обрезанную картинку и проверь width, height", а правильно было бы иметь оба.

PS: пишут что такое же поведение нашли у стандартной утилиты 'Ножницы' под Windows.

Microsoft 🤝 Google
👍4😱3🔥2
Тут OpenAI аннонсировали для chatGPT систему плагинов.

Штука конечно не Google-киллер, но прикольная. Но меня гораздо больше поразил способ интеграции этих плагинов.

Вы - разработчик стороннего API, в который будет ходить chatGPT. Вам нужно добавить текстовое описание своего плагина, спецификацию OpenAPI и спецификацию аутентификации. И все. ChatGPT сможет сам понять на какой промпт дергать какую ручку по описанию ручек из OpenAPI и описанию плагина, который вы ему предоставили.

https://platform.openai.com/docs/plugins/getting-started/writing-descriptions

Выглядит сильно.
12
Бесцеремонно ввожу сюда новую рубрику #двериДублина

Регулярность не обещаю.
👍177🔥3