понедельник, 25 июня 2012 г.

А вы знаете про perlsecret?

English test is here
Читаю perlsecret. Оказалось забавная штука, всем советую. Ообенно понравился оператор "~~<>", называемый kite (воздушный змей) или ... sperm (тут и без перевода думаю понятно).
Приведу выдержку из документации полностью -

"Discovered by Philippe Bruhat, 2012. (Alternate nickname: "sperm")
This operator is actually a combination of the inchworm and the diamond operator. It provides scalar context to the readline() builtin, thus returning a single line of input.
It's only useful in list context (since <> already returns a single line of input in scalar and void contexts), for example for getting several lines at once:
@triplets = ( ~~<>, ~~<>, ~~<> ); # three sperms in a single egg?
Like the other operators based on bracketing constructs, the kite is a container, and can carry a payload (a file handle, in this case).
Mnemonic: It provides a feature that is tied to one line, a string, as it were. (Tye McQueen in http://www.perlmonks.org/?node_id=959906)."

воскресенье, 24 июня 2012 г.

Spacewar!, Computer Space, Pong...

Читаю книгу по истории видео игр, вот эту -
Книга 2001 года, но очень хорошая. На русский насколько мне известно, к сожалению, не переводилась. Сначала описывается история механических игр - в основном типа "пинболл", потом рассказывается про создание первой компьютерной игры для PDP-1 под названием Spacewars!, потом история первой TV приставки Magnavox Odyssey, ну и конечно история Atari .
Интересно, что первой игрой Atari должен быть клон Spacewars! под названием Computer Space, но неожиданно хитом стала простая игра Pong, которую написал спроектировал и собрал (на дискретной логике, никаких CPU!) талантливый инженер Al Allcorn. Причем что забавно, директор Atari Nolal Bushnell дал задание Allcornу только чтобы чем то его занять, а сам проектировал Computer Space, думая что именно она станет хитом. :)
Естественно, мне стало интересно как выглядели эти игры и каково в них было играть. В нашем то детстве ничего кроме Морского боя и "Ну, погоди!" ничего и не было, да и в 60-70 многие из нас даже еще не родились. Начал рыть Интернет в поисках эмуляторов...
Со Spacewars! все оказалось просто - есть все работает на эмуляторе PDP-1 прямо в окне браузера -
Первая ракета управляется клавишами "a", "s", "d", "f", вторая - "k", "l", ";", "'". Архаичная, но забавная игрушка - это был на минутку 1962 год, правда PDP-1 на тот момент стоила порядка $100.000 - позволить ее себе могли только универитеты.
С Computer Space все оказалось хуже - так как CPU там нет, нормальных эмуляторов тоже не имеется, только клоны, разной степени схожести. Вот вроде самый удачный -
Ну и Pong.
Несмотря на то что по Pong информации в Сети очень много - например на http://www.pong-story.com, нормальных эмуляторов также нет и не предвидится. Есть несколько проектов по эмуляции логических интегральных схем - DICE, DiscreteSIM, но на современном железе скорость составляет от пары кадров в секунду, до нескольких кадров в минуту (!).
Поэтому приходится довольствоваться разной степени точности клонами, многие из которых эмулируют не изначальный аркадный дизайн, а последующую систему-на-чипе AY-3-8500 или домашнюю TV версию.
Ну а для любителей современноcти можно порекомендовать более cовременную реинкарнацию 2007 года - Plasma Pong. Суть игры та же, но все действо происходит на фоне красивых плазма-эффектов в стиле демосцены. 

Сама игра выпилена с официального сайта из за нарушения копирайта Atari, но ее можно скачать например на AG.ru

понедельник, 18 июня 2012 г.

Почему приватность важна, даже если вам нечего скрывать

Очень часто можно услышать такую фразу по поводу приватности - "Мне нечего прятать. Волноваться нужно, только если вы делаете что-то неправильное, в таком случае вы не заслуживаете права держать это в секрете".
Очень интересная статья на английском о несостоятельности подобной логики и ее перевод.

воскресенье, 10 июня 2012 г.

Очередной раз про взлом паролей

English text is here

Я давно интересуюсь темами IT-безопасности, криптографией и (связанной с ними обеими) парольной безопасностью, даже делал на эту тему блиц-доклад на PerlMova еще в 2010 г. Тем более любопытно, что произошло в этой области в последнее время. А произошло немало - сначала утечка паролей LinkedIn, потом Lastfm / Eharmony. В обоих случаях использовались несоленые хеши (извините, но єто вообще то капец) - sha1 в случае LinkedIn и md5 в случае Lastfm (самих хешей в случае с Lastfm правда предоставлено не было, на факт что за год было вскрыто 95% всех паролей говорит сам за себя).
После всей этой катавасии широко известный в укзих кругах Poul-Henning Kamp, объявил, что созданную им в 1995 году реализацию системы хэширования паролей md5crypt больше нельзя считать безопасной, так как современные брутфорсеры паролей могут перебирать более 1 млрд. MD5 хешей в секунду (порядка 1 млн. md5crypt/сек), что слишком много - простые пароли могут быть быстро взломаны. Желающие могут ознакомиться с занятной презентацией Speeding up GPU-based password cracking, откуда мне понравилась следующая табличка -
То есть 8ми символьные буквенноцифровые пароли уже ненадежны - 2 дня на полный брутфорс - это просто катастрофа с точки зрения безопасности. (кстати, в 2010 году в моем докладе у меня получилось вообще 20 минут - правда брутер был мощнее 2.7 млрд. хешей в секунду, так что возможно в докладе идет речь как раз о md5crypt).
Выход собственно всем уже ясен и понятен - использовать для хранения хешей паролей то, что было придумано для хранения хешей паролей - а именно - bcrypt, scrypt или PBKDF2.
Тут еще можно добавить очень хороший доклад с PHDays по теме хранения паролей от  тоже весьма известного в кругах безопасников Александра Песляка aka Solar Designer - только перемотайте на 14:00:00 (слайды к докладу).