воскресенье, 27 ноября 2016 г.

Валентин Холмогоров. Pro вирусы



Книга небольшого объёма - всего 142 страницы, что может одновременно показаться как недостатком, так и её достоинством. Недостатком такой объём может показаться потому, что излагаемая тема не могла быть раскрыта достаточно подробно, а достоинством - потому что автор был вынужден втиснуть в этот небольшой объём максимум информации. Не было возможности, что называется, "растекаться мыслью по древу".

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

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

Наиболее опасными мне показались два вида программ: шифрующие данные на компьютере и требующие за расшифровку выкуп, а также программы, перехватывающие данные систем банк-клиент. Банковские троянцы вообще могут быть устроены довольно хитроумно. Например, троянец может встраиваться в браузер и перехватывать страницы, скачиваемые браузером из сети. При попытке зайти на страницу банк-клиента, троянец может встроить в страницу предложение установить на планшет или смартфон программу для работы с банком. Внешне это встроенное на страницу предложение ничем не выделяется на странице, т.к. следует её стилю. Но ссылка будет указывать на специально подготовленную злоумышленником программу. Она действительно может выполнять функции банк-клиента, выполняя запросы к веб-странице банк-клиента. Пользователь вводит в эту программу свои учётные данные сайта. Дальше программа может воспользоваться этими учётными данными для перевода денег в пользу злоумышленника. И тут может не спасти даже двухфакторная аутентификация через SMS-сообщения, т.к. программа может перехватывать принятые смартфоном SMS-сообщения, извлекать из них код подтверждения транзакции, а само сообщение удалять.

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

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

воскресенье, 20 ноября 2016 г.

Ричард Докинз. Эгоистичный ген



Эта книга была написана автором раньше книги "Слепой часовщик". Большинство людей рассматривает процесс эволюции, концентрируясь в описании причин и эффектов на телах организмов. В этой книге предпринимается попытка взглянуть на эволюцию немного под другим углом, с точки зрения генов. Ген в этой книге назван эгоистичным, потому что его благотворное влияние на организм, в котором он находится, способствует наиболее широкому распространению в популяции. Если отбросить промежуточную стадию - организм, через который проявляет себя ген, то можно представить, что ген обладает целью распространиться как можно шире, существовать в как можно большем количестве экземпляров - своих точных копий. Если так, то ген можно по праву назвать эгоистичным.

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

Одно из интересных свойств генов состоит в их кооперации и коадаптации - гены, которые влияют на организм так, что каждый из них усиливает действие другого, имеют большую вероятность шире распространиться в популяции. Из этого их свойства вытекают различные интересные следствия. Например, так получаются хищники и травоядные. Когда-то могли существовать организмы, которые могли питаться некоторой органической пищей. Одни из них, вследствие небольших различий могли предпочитать поглощать малоподвижную пищу, которая оказалась рядом, не тратя энергию на перемещение. Другие могли предпочитать потратить немного энергии, чтобы переместиться поближе к пище, тем самым снизив время ожидания малоподвижной пищи. Эти две стратегии поведения в процессе эволюции усиливались естественным отбором. Все гены из того организма, который предпочитал малоподвижную пищу, если они способствовали экономии энергии, имели больший успех в сочетании с геном стратегии захвата. Все гены из того организма, который предпочитал перемещаться к пище, если они способствовали большей подвижности, имели больший успех в сочетании с геном стратегии охоты. Чем дальше, тем больше отличий накапливалось в организмах, предпочитающих разные стратегии поведения.

Подобным же образом можно объяснить возникновение разного строения мужских и женских особей одного и того же вида. Предположим, что изначально существовал организм с изогаметами - ничем не отличающимися друг от друга половыми клетками. Разных полов ещё нет, а для зачатия нужно просто объединить две гаметы одного и того же пола от разных организмов. Точно так же, из-за каких-то небольших случайных отклонений могли возникнуть две стратегии успешного размножения: сделать большую гамету, чтобы в ней был достаточный объём пищи для будущей особи, либо сделать больше маленьких гамет, которые будут соединяться с большими гаметами и использовать их запас пищи. Дальше коадаптация генов этих двух стратегий привела к появлению двух разных полов. Один из них делает больший вклад в небольшое количество потомков - женский пол, а другой делает меньший вклад, но в большее количество потомков. Таким образом появляются различия в строении организмов, предпочитающих разные стратегии размножения, появляются два разных пола.

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

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

Кроме генов в книге вводится понятие мема. Это понятие уже стало для нас привычным, однако впервые это понятие придумал и ввёл в обиход именно Докинз. Он рассматривает мемы как аналог генов. Отличие между ними заключается лишь в том, что мемы передаются не через гены. Их размножение больше походит на размножение вирусов. Мемы тоже способны к мутациям и коадаптации. Например, разного рода субкультуры и религии являются примерами такой взаимной коадаптации мемов. Субкультура металлистов легко приняла в себя кожаные клёпанные куртки из субкультуры геев, а христианская католическая религия легко приняла в себя органную музыку.

Честно говоря, читать книгу мне было не очень интересно, почти до самого конца. Но дело в том, что я уже читал эту книгу в 2009-2010 годах с мобильного телефона. Но, судя по тому, что окончание книги показалось мне интересным, тогда я книгу до конца не дочитал. Кроме того, тогда я читал оригинал, а в этот раз в книге каждая глава снабжалась обширными комментариями автора, а в конце и вовсе была добавлена глава "Длинная рука гена", в которой раскрываются идеи следующей книги автора - "Расширенный фенотип". В ней описывается, как ген может распространять своё влияние на неодушевлённые предметы и на другие организмы. Запруды у бобров, домики песчаников запрограммированы в генах и тоже подвергаются естественному отбору и эволюции. Гены паразитов оказывают влияние на организм хозяина. Если паразит передаёт свой геном в будущие поколения вместе с геномом хозяина, например, в его яйцах, то такой паразит со временем превратится в симбионта, т.к. цель и средство её достижения совпадают и у паразита и у хозяина. Симбиоз станет со временем настолько тесным, что разница между двумя организмами и их генами может вовсе исчезнуть, т.к. гены паразита будут стараться увеличить успех организма хозяина, как и гены хозяина. Если же паразит и хозяин размножаются разным путём, то у них неизбежно будет существовать конфликт интересов. Даже смерть хозяина может оказаться желательной для паразита, если до этого паразит успеет размножиться и переселить своих потомков в другую среду обитания.

воскресенье, 13 ноября 2016 г.

Пара прочитанных книг

Дочитал ещё пару книг.

Алексей Бережной. Сохранение данных: теория и практика



По ходу чтения натыкался на большое количество опечаток, задвоенных и пропущенных слов. Стало интересно - а был ли у книги корректор? В выходных данных корректор указан. Но складывается чувство, что корректор эту книгу в глаза не видел и "без него его женили". При таком обилии опечаток вкрадывается подозрение, что опечатка могла вкрасться и в имя супруги автора в благодарностях. Написано имя Мадина, но из-за обилия опечаток просится имя Марина.

Содержимое книги, безусловно, полезное. Людям, которые считают RAID-массив и антивирус достаточными для обеспечения сохранности данных, эта книга может показаться откровением. Однако, я не нашёл каких-то новых для себя вещей. Более того, при желании всё содержимое книги можно ужать без потери смысла до нескольких статей. Правда, к сожалению, большинство людей обычно не придают значения истинам, кажущимся простыми. И именно поэтому, чтобы такой человек понял всю важность доносимой до него истины, часто приходится раскрывать мысль, пережёвывать её и приводить примеры. Только когда простая мысль раздута до размеров книги или учебного курса, за который заплачены деньги, человек начинает воспринимать полученные сведения всерьёз.

В книге объясняются различия между разными уровнями RAID, понятия аварийного восстановления, плана аварийного восстановления, окна резервного копирования. Разъясняются различия между полной, инкрементальной и дифференциальной резервной копиями. Объясняется, какими соображениями нужно руководствоваться при выборе схемы ротации носителей резервных копий, где нужно хранить резервные копии и как их лучше маркировать. Рассматриваются топологии систем резервного копирования. Это касается теоретической части. Но в названии книги написано - теория и практика. Практическую часть я счёл формальным довеском, который должен оправдать название книги. Имеется три практических примера:
  1. настройка NETGEAR ReadyNAS Pro через веб-интерфейс,
  2. описание снятия образа диска и его восстановления с помощью загрузочной флешки с Redo Backup and Recovery через графический интерфейс,
  3. описание установки и настройки CentOS с программой для резервного копирования HP Data Protector Express Single Server Edition.
Не знаю, чего я ожидал, но ожидал явно большего.

Наконец, немного об авторском стиле. В глаза бросается нескромность автора. Достаточно прочитать в аннотации "опытнейший специалист" и почитать рассуждения об "архитекторах" и "шаманах". Хотя автор и явно заявляет о том, что "шаманы" - очень ценные специалисты, в глаза бросается то, что симпатизирует он "архитекторам". Судя по описанию, я - безусловный "шаман". Автор почему-то отказывает "шаманам" в праве обладать архитектурным мышлением. На самом деле недостатки "шамана" можно компенсировать грамотным руководителем, который правильно направит его способности. У "архитекторов" тоже есть недостаток - многие из них проектируют отличнейшие системы, которые не решают реальных проблем и решают проблемы, не существующие на практике. Этот недостаток "архитекторов" можно компенсировать грамотным "шаманом", который хорошо знает реальные проблемы. Наконец, если "шамана" разгрузить от повседневной рутины, например, сделав его руководителем отдела и передав ему в подчинение несколько "шаманов" масштабом поменьше, то из него получится отличный "архитектор", потому что у него появится время подумать о вечном, а недостатки системы он и так хорошо знает. Из "архитектора" же сделать "шамана" значительно сложнее. Так вот, по книге хорошо видно, что автор отлично разбирается в теории, видимо умеет писать разного рода документацию, но реальные практические решения красотой не блещут и производят впечатление сделанного из подручных средств. Стоило ли подводить такую обширную теоретическую базу под такие простые решения?

Нурали Латыпов, Анатолий Вассерман. Страна премудрых пескарей



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

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

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

После прочтения книги ощущения такие, как будто начитался статей или разных бложиков в Интернете. В общем и целом получилось как-то бессистемно. Всё-таки, если на книге не написано "сборник статей", то ожидаешь от неё чего-то более последовательного и структурированного.