URL
  • ↓
  • ↑
  • ⇑
 
13:19 

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

12:38 

Хатико ждёт

Прошло уже где-то два года с тех пор, как должен был начаться курс Cryptography II. В этот раз он должен был стартовать 15 сентября, но его перенесли на январь 2015 года. Повесил на работе картинку с Хатико.
Тем временем, первую часть курса уже раз десять успели прочитать. Такие дела.

12:00 

Как я полюбил Western Digital

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

22:08 

Нашёл тут интересную статью, в которой автор повествует, как он убил свою карту памяти, а потом 6 месяцев разбирался в принципах её работы и восстанавливал данные. Оказывается, не всё так просто с современной flash-памятью.

09:21 

Вам нечего бояться, если нечего скрывать?

Наткнулся на статью, повествующую о том, почему мнение "вам нечего бояться, если нечего скрывать" в корне ошибочно. Всем рекомендую.

09:11 

Время, не спеши

Эта неделя прошла под знаком "скомпилируй старьё". Сначала пытались кросс-компилировать модуль ядра для версии 2.4 (которой уже лет 10 исполнилось), выяснили, что мануалы по сборке как и средства сборки (старый crosstool) удалили отовсюду за ненадобностью. Потом чудом нашли ту самую старую версию crosstool, которой всё собирается. Потом пытались скомпилировать одну софтину под MinGW и выяснили, что для этого нужны старые версии пакетов, с новыми не собирается, а обновляться на старые версии - та ещё проблема. При этом пытались ещё копировать рабочую сборку MinGW с одного компа на другой: в результате на одном всё собиралось, а на другом - нет. В итоге была создана виртуалка со всем необходимым набором софта, которая была выставлена под рамочку надёжно сохранена.

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

Тут можно вспомнить ещё Arch Linux с его машиной времени - Arch Rollback Machine. Это были репозитарии, которые можно было прописать в системе и скачать нужные пакеты из прошлого за любую дату. Это был невероятно полезный сервис, поскольку позволял обновлять системы, которые давно не обновлялись. Потому что полгода-год не обновляешься - и у тебя уже большие проблемы. А с этими репозитариями можно было много раз обновиться на месяц вперёд, например. Но в какой-то момент владелец сообщил, что у него какие-то непонятки с хостером, и проект закрылся без какой-либо возможности скачать содержимое репозитариев. На форумах предлагали даже заехать домой к владельцу и забрать данные "физически" чтобы не качать и не нагружать канал. Но, в итоге, всё безвовзартно потерялось. На форумах какое-то время царила паника, но потом подняли несколько аналогичных серверов, на которых уже были версии пакетов "после часа икс".

Что делать? Хороший вопрос. Или сохранять всё, или стремиться использовать всё самое новое. Так или иначе, приходится предпринимать какие-то усилия для того, чтобы потом не было мучительно больно.

23:45 

А тем временем в рассылке по эрлангу написали, что внезапно появился перевод замечательной книги "Learn You Some Erlang for Great Good!", который на данный момент доступен по предзаказу. Надеюсь, они ничего плохого не сделали со всеми лулзами, которые были в английской версии.

21:59 

Вся суть Почты России:
читать дальше

22:17 

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

00:10 

Android

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

А теперь давайте посмотрим на андроид. Чтобы сэкономить на времени загрузки и на потребляемых ресурсах, при старте системы грузится процесс, который загружает в себя все библиотеки и окружение виртуальной машины, после чего, при надобности, создаёт копию себя и в копии уже "по-быстрому" запускает нужное приложение (которое само по себе куда меньше использумых им библиотек). Что мы имеем в итоге? В каждом процессе каждого приложения все библиотеки будут расположены по одним и тем же адресам! Да, адреса эти рандомизированы, но одни и те же в пределах одного запуска системы. Так что, ASLR в андроиде, можно сказать, и нет.

00:02 

Очередная статья из серии "как страшно жить"

Наверное, про Heartbleed не слышала только домохозяйка, живущая в деревне. Так вот, это конечно большая дыра, да, но вместе с ней закрыли ещё одну неслабую уязвимость, связанную с атаками по побочным каналам на OpenSSL.
Итак, встречайте: Recovering OpenSSL ECDSA Nonces Using the FLUSH+RELOAD Cache Side-channel Attack

В общем, суть в том, что в разных процессах исполняется код библиотеки, который как бы "расшарен" между этими процессами. В итоге, влияния на кэш одного процесса влияют и на другой процесс. Это приводит к тому, что по кэщ-промаху мы можем определить, выполнилась ли определённая инструкция в чужом процессе. Если один процесс занимается цифровой подписью важных данных, а другой процесс за ним таким вот образом следит, то он может, отслеживая выполнение нужных инструкций, получить побитово секретный ключ для ECDSA. Одна инструкция выполнилась - значит была обработка бита "1", другая инструкция выполнилась - значит была обработка бита "0". Ни одна инструкция не выполнилась - значит ничего пока не обрабатывали. Эта уязвимость концептуальна: можно, по сути, узнать всё о каждом переходе в чужой программе.

Баг закрыли весьма эффектно. Теперь в коде, который выполняет эту операцию, вообще нет ни одного ветвления! Есть функция, в которую передаётся обрабатываемый бит, и эта функция с помощью битовых операций и магии меняет или не меняет два указателя местами. А потом мы обабатываем "первый" указатель (который был "вторым", если произошёл обмен"), и меняем указатели на свои места аналогичным образом.

23:47 

phdays

Был тут недавно на конференции phdays, внезапно даже там выступал. Нас долгое время не было в расписании, а одного из докладчиков нет там до сих пор. Не палится)
Было много интересных докладов и воркшопов. Их можно посмотреть тут. Я уж думал, что их не выложат никогда. Конечно, хотелось бы всё это в виде отдельных файликов, чтобы в метро смотреть... ну хоть так. О, а вот и видео: тыц. Правда, не для всех есть и русская и английская озвучка.

Доклад о сравнении хакеров Китая, Ирана и Северной Кореи заставил задуматься. А ведь они поняли быстрее остальных, как воевать. После этого доклада поставил на сервер fail2ban и стал наблюдать. Почти все атаки на ssh идут из Китая, остальные более-менее равномерно размазаны по другим странам.
Этот доклад ещё переводил очень очень забавный переводчик, который, как мне кажется, вставлял в перевод ещё и свои лулзы местами. В итоге не очень понятно, то ли это в докладе полно лулзов, то ли переводчик такой. Особенно запомнилось из этого доклада:
"Я, кстати, написал книжки по Китаю и китайской кибер-войне, скажем так. Они, кстати, запрещены! В Китае. Ну, поскольку я морпех, я ещё три написал, и их тоже запретили в Китае! Каждую. По очереди."

Встретил там Романа Коркикяна, с которым виделись ещё на ZeroNights 2013, он меня сразу узнал) Он работает в конторе, которая, в том числе, занимается тестированием железа на уязвимость к атакам по побочным каналам. На ZeroNights рассказывал про атаки по времени на DES и AES. Весьма сложно было въезжать в эту тему, когда до этого только чуть-чуть о ней слышал. Как-то так получается, что не понимаешь, а потом вдруг приходит озарение и ты всё понял, и сразу всё просто и логично становится. В этот же раз он рассказывал про атаки по потребляемой мощности на DES, AES и другие алгоритмы. Надо сказать, это был уровень на порядок выше. Я сходу так и не смог "въехать", да и до сих пор не уверен, что понимаю все детали. В итоге как-то так получилось, что на воркшоп на phdays с ноутами и желанием что-то делать пришло человека четыре и времени на практическую часть не хватило. Поэтому я временами пытаюсь написать свой код, реализующий атаки, про которые успел рассказать Роман. Жаль, что его расстроило то, что воршкоп не удался. На самом деле он очень круто рассказывает, складно. Он у меня ассоциируется с преподом по методам оптимизации, который у меня был в институте. Хотя мне тогда опты нафиг не нужны были, но было жутко интересно, в итоге я без проблем этот предмет сдал. Так и сейчас, тема атак по побочным каналам стала внезапно весьма интересной. Очень надеюсь, что на какой-нибудь конференции послушаю ещё что-нибудь от Романа, а ещё лучше, если поделаю)
На конференции было ещё два доклада на тему атак по побочным каналам, один вводный и весьма полезный, а другой больше рекламный.

Был доклад Алисы Шевченко про фаззеры, на котором она продоминировала над всеми присутствующими своими умениями и крутизной. Напрягает когда люди говорят о своих мега-достижениях в таком тоне, а потом говорят, что никогда ими не поделятся. Ну молодец, чо.

Был ещё интересный доклад, посвящённый импрессии - изготовлению ключа с помощью многократного "подхода к двери" с наружной стороны и напильника. Один из спикеров сделал ключ для замка прямо во время доклада за несколько минут. Доклад реально заставляет задуматься о безопасности, ведь это не с отмычкой возле двери ковыряться, а сделать для неё реальный ключ, который будет работать всегда. У них ещё был стенд, на котором можно было пооткрывать замки отмычками и купить сами наборы отмычек. Кстати, мне сказали, что у нас нельзя просто так легально купить отмычки, и по почте из Китая заказывать тоже не стоит. Не знаю, насколько это правда.

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

Ох.. я только сейчас заметил, что один из докладов вёл сам Карстен Ноль! Это же тот чел, что нашёл уязвимость в алгоритме Crypto1, используемом в Mifare Classic. Только читал недавно его статьи. Ну что ж, теперь я знаю, какое видео буду смотреть следующим)
Кстати, про Mifare Classic. На картах ISIC он есть и ломается всё так же, всё тем же mfoc. Недавно ключики к своей карте подобрал. Также у меня теперь есть относительно свежие ключики от соц.карты студента, там почему-то поменялся ключ для сектора наземного транспорта.

P.S.: всем рекомендую к просмотру доклад про хакеров

22:48 

hello again

Что-то много времени прошло с тех пор, как я последний раз сюда написал.

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

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

15:55 

Насильно выключать компьютеры - нехорошо. Недавно понадобилось переставить домашний сервер в другое место. Зашёл по SSH, отправил в shutdown. Но через минуту светодиод питания всё ещё горел, как и через две минуты. Я решил, что с ядром могло случиться что-то плохое. Пингов больше нет, на подключенную клавиатуру не реагирует, на экране пустота. Зажал кнопку питания на 5 секунд, сервер выключился. После включения меня ждал сюрприз: RAID5 обнаружил "грязное" отключение и решил перестроиться. Узнал я об этом не сразу (спасибо моей криворукости при написании скриптов): через 2 часа пришла бодрая смс о том, что перестроение рейда уже на 40%. В общей сложности перестроение рейда заняло 6.5 часов. К счастью, всё обошлось без фатальных потерь, хотя жёсткие диски нагревались до 40 градусов, что не есть хорошо.

13:30 

Аккумулятор в телефоне испортился, заряд плохо держал. По дороге на работу (45 минут) разряжался на 25%. Купил новый, зарядил, за двое суток он разрядилсяна 60%. Новые аккумуляторы это хорошо.

10:53 

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

22:11 

Поностальгирую

Вдруг вспомнил, что когда-то давно писал программки для телефона. И мы вместе с Ri написали этот плеер на джаве.

14:14 

МГУшники настолько суровы, что...

МГУ, первый курс, парень начал изучать курс ассемблера и ему не понравилось удобство имеющихся средств разработки. Что нужно сделать? Конечно же написать свою удобную IDE! На ассемблере! Все поудивлялись, посмеялись, предложили ему переписать всё на нормальном языке программирования QT и выложить на гитхаб. Он сделал и это. Теперь наш отдел в очередной раз удивляется этому творению и попутно стебётся над имеющимися ошибками в английском языке.

13:29 

1 января. Все анонимусы и Ивановы Иваны празднуют в этот день свой день рождения!

09:34 

Xen is an established program, but Xen 4.2 is extremely new. Consider Xen 4.2 on an Arch system to be untested. Consider yourself to be an alpha tester, perhaps make a throw-away Arch system for the Xen installation.
Как мило)

the code inside me

главная