Category: it

Category was added automatically. Read all entries about "it".

awesomeness

Я еду на DefCon!

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

Но вот две недели назад подскочил восторженный коллега «Ольга, ну ты на DefCon уже собралась?» — и вся моя решимость никуда не ехать тут же улетучилась. Я ответила, что пока не уверена, но назавтра буду знать наверняка. Назавтра у меня уже были билеты в Вегас ¯\_(ツ)_/¯.

Что в этой конференции такого особенного? Пока не знаю. Конференция проводится четыре дня, по нескольким трэкам, где рассказывают о разных хакерских новинках, о внутренней кухне взломов и т.п. Там же проводится CTF, есть «деревня» вскрывателей замков и проходит куча всяких сторонних мероприятий. Там собираются не только «белые» специалисты по безопасности, но и всякие тёмные личности и спец. службы всех стран и народов. Сеть wifi, предоставляемая организаторами, традиционно служит площадкой для взлома всего, что хотя бы на секунду случайно пролетит мимо. При малейшей возможности ломают всё, что окажется в пределах досягаемости, не гнушаясь и приёмами социальной инженерии. Вообще самый популярный совет: не берите с собой ни телефонов, ни компьютеров — взломают ВСЁ.

Кстати о советах: все выходные я читала разные статьи для салаг, впервые прибывающих на конференции infosec. Совершенно уморительные вредные советы сыпались как из рога изобилия в твиттере по хэштегу #BadDefconAdvice.

Вот говорят: «Бесспорно, в жизни надо попробовать всё. Но под "всё" обычно имеется в виду наркотики, гомосексуализм, и съемки в порно. Гораздо реже — ядерная физика, альпинизм и шахматы.» Ну так вот DefCon — это такие ядерные гомосексуальные шахматы на альпийских наркотиках. Я по-прежнему не очень представляю, зачем я туда еду :) Но я точно туда хочу: моя жизнь будет прожита зря, если я на нём не побываю!

ps: Начальство отпускает на DefCon за счёт рабочего времени компании, но без командировочных. И при условии, что мы не берём с собой рабочие ноутбуки и не подключаемся к офисной сети во время пребывания в Вегасе.
dragon

Performance review

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

А у вас тоже такие дурацкие performance reviews?

Думала-думала, но как ни старалась, по первым двум пунктам так и не получилось ничего придумать. Как ни крути, оба пункта о том, что человек либо делает что-то плохое, либо не делает чего-то хорошего... и что ты там ни напиши, получится донос на себя.

Поэтому я написала честно: “ничего я тут не могу придумать, зато смотрите, какой у меня богатый третий пункт!” И в третьем пункте действительно список:
* изучить Django и best practices в работе с ним в CI и production,
* подтянуть python,
* принимать более активное участие в выборе/оценке нового инструментария,
* пройти запланированные online-курсы по анализу алгоритмов, облачным делам и криптографии.

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

Как-то это... мало?
dragon

Новинка в мире SSL

Попробовала сегодня баловства ради новинку в SSL-мире — бесплатные краткосрочные (90 дней) SSL сертификаты от Let's Encrypt. Они три дня назад вышли в публичную бету. Тут как раз и к чему прикрутить нашлось.

Как это работает: на своём сервере ставим клиента letsencrypt. Он уже есть в виде пакетов для разнообразных линуксов и во FreeBSD latest. Можно, конечно, и из репозитория на GitHub.

Дальше одной командой генерируется полный набор (ключ, цепочки, сертификат) и ставится куда надо. Например, вписывается в конфигурацию Apache. Можно самим сгенерировать csr и отдать letsencrypt-клиенту на подпись. Можно полностью поручить ему всё:

letsencrypt certonly --standalone -d mydomain.com -m admin-mydomain@gmail.com \
    --server https://acme-v01.api.letsencrypt.org/directory

Он создаёт rsa:2048 ключ, делает csr-запрос, изображает из себя веб-сервер (нужно временно освободить 80-й и/или 443-й порты), сам связывается с CA, получает сертификат и складывает всё в папочку, включая цепочки, признаваемые Apache и nginx.

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

letsencrypt certonly --standalone \
    -d mydomain.com -m admin-mydomain@gmail.com \
    -t --agree-dev-preview --agree-tos \
    --server https://acme-v01.api.letsencrypt.org/directory

Последняя строчка важна. Без неё клиент идёт на тестовый сервер и получает сертификат, подписанный "Happy hacker fake CA". Выглядит прикольно, но браузерам не нравится.

Вот так это выглядит, если всё правильно сгенерировано:


Браузеры их root CA признают. Тулза SSL Labs, которая проверяет SSL конфигурацию веб-серверов, тоже никаких претензий к ним не имеет.

С появлением Let's Encrypt причин не использовать правильно подписанные SSL-сертификаты в браузерах даже на этапе разработки не остаётся.

PS: Документация есть.
dragon

Отчёт о VolgaCTF 2015

Я так долго и громко готовилась к этому CTF, что не написать о том, как он прошёл, было бы странно.

Очень понравилась организация. Разнообразные, оригинальные, невысосанные из пальца задачи. Видно, что авторы не только очень старались, но и получали удовольствие в процессе их составления. Collapse )

В общем, в результате у нас 110-е место из 600+ зарегистрировавшихся и из 251-й команды, решившей хотя бы одну задачку. Crypto Knights на 84-м месте. Несколько часов подряд мы их даже обгоняли. Две другие команды, зарегистрированные от УлГУ, либо вообще пропустили мероприятие, либо так ничего и не решили. В любом случае, считаю, что CTF удался, участвовали мы в нём не зря и надо играть ещё!

ps: а в результате у команды Nuff Fluff 386-е место во всемирном CTF-рейтинге ;) Мелочь, а приятно.

PS: А ещё благодаря организаторам я узнала о Джессике Фридрих: http://en.wikipedia.org/wiki/Jessica_Fridrich
dragon

PlaidCTF, разбор полётов

Только что закончился 48-часовой PlaidCFT. У меня неплохой score (194-е место из 898 участников). Что должно быть радостно, потому что это одно из самых котируемых соревнований в мире CTF. А мне досадно, что сделала так мало, много времени было потрачено почти впустую из-за плохой подготовки. Поэтому пишу здесь на будущее, что надо иметь наготове для соревнований. Для себя в первую очередь, но может кому-то ещё пригодится.

На хостовой машине и в сети:
* много места, достаточно, чтобы иметь возможность при необходимости развернуть несколько дополнительных полновесных виртуалок со статическими дисками;
* свежие VirtualBox и Vagrant;
* удобный hex-editor;
* привычный графический редактор;
* IRC-клиент;
* доступ к серверу, куда можно лёгким движением руки положить любой файл в открытый доступ (ftp, http — не важно).

Гостевые машины:
* они должны быть предустановлены (не LiveCD) и обновлены (в Ubuntu 9.04, например, для этого в /etc/apt/sources.conf надо заменить xx.archive.ubuntu.com на old-releases.ubuntu.com):
+ пара базовых линуксов (apt-based и yum-based, один из них с X сервером),
+ какой-то старый линукс с устаревшим, но рабочим инструментарием, и X-ами,
+ Kali linux,
+ tails linux,
+ DOS image для VB.
* на них должны быть (где возможно):
+ компиляторы,
+ hexedit,
+ wireshark,
+ ключи для доступа куда надо (в частности, обратно на хост),
+ смонтированные с хоста каталоги,
+ другое (по мере набора опыта)...
* хотя бы один из линуксов должен запускаться из vagrant-а для удобства работы.

Остальное можно доставить по ходу. Но важно иметь наготове основной набор тяжеловесных ISOs и важно, чтобы всё со всем работало.

И ещё пара важных моментов:
* за пару дней до соревнований полезно вспомнить интерфейсы к основным инструментам (если они не используются в повседневной работе),
* обязательно просмотреть writeups с прошедших соревнований для задач хотя бы того уровня, на который претендуешь,
* последнее может привести к серьёзному комплексу неполноценности... я поняла, что многое из того, что делала вручную, натасканные команды сразу кодировали. Поэтому кодить, кодить и кодить... Хорошая тренировка: закодировать пару чужих writeup-ов.
* самой писать writeups (а в идеале, играть так, чтобы в ходе игры writeups возникали сами собой и требовали минимума дополнений).
awesomeness

PNG, альфа-прозрачность и Internet Explorer

На дворе 2009 год, а я сижу и выписываю (знакомо, да?):

<!--[if IE]>
<style type="text/css" media="screen">
div#bg {
  background-image: none;
  -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg.png',sizingMethod='crop')";
  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg.png',sizingMethod='crop');
}
</style>
<![endif]-->

и меня это огорчает все больше и больше.

Collapse )

Вывод напрашивается сам собой: в версиях Internet Explorer-а, начиная с 7-ой, использование AlphaImageLoader абсолютно неоправдано. Даже если вы не знаете, на каком сайте будет использоваться ваш код, и не можете предугадать, в каком режиме браузер будет отображать соответствующую страницу, AlphaImageLoader может лишь ухудшить, но не улучшить ситуацию. Вам остается позаботиться лишь о вымирающем виде питекантропов, которые никак не могут расстаться с IE6. Вот такие пироги!

Collapse )