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

Читать, слущать книги онлайн бесплатно!

Электронная Литература.

Бесплатная онлайн библиотека.



Главная
Все книги
Назад
Читать: Журнал "Компьютерра" №710 - Компьютерра на бесплатной онлайн библиотеке Э-Лит


Помоги проекту - поделись книгой:

Литература

[1] Don Jackson/SecureWorks, "Gozi Trojan" (технический отчет).

[2] Scott Berinato/CIO, "Who’s Stealing Your Passwords? Global Hackers Create a New Online Crime Economy".

[3] Ross Anderson, "Why Information Security is Hard - An Economic Perspective".

[4] Ross Anderson, Tyler Moore, "Information Securty Economics - and Beyond". Там же.

[5] Rainer Bцhme, "Vulnerability Markets: What is the economic value of a zero-day exploit?".

[6] Charlie Miller, "The Legitimate Vulnerability Market: Inside the Secretive World of 0-day Exploit Sales".

книги: Недетские игры

Автор: Киви Берд

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

8/12

В самую популярную в мире многопользовательскую онлайновую игру World of Warcraft, по состоянию на лето 2007 года, играли 8 млн. человек, каждый из которых платит за право участия в ней 14 долларов в месяц. По оценкам аналитиков, к 2009 году игровой рынок достигнет 12 млрд. долларов.

Сформулированная Фелтеном идея, конечно же, не была внезапным откровением. О неблагоприятном положении дел с компьютерной безопасностью прекрасно осведомлены все эксперты и даже многие несведущие в этой области люди. Постоянно прилагаются усилия, чтобы переломить унылую тенденцию и перестать, наконец, наступать на одни и те же грабли. Частью этой работы стала новая книга американских авторов Грега Хоглунда и Гэри Макгроу "Эксплуатация онлайновых игр: жульничество в массивно-распределенных системах"["Exploiting Online Ga-mes: Cheating Massively Distributed Systems" by Greg Hoglund and Gary McGraw, Addison-Wesley Professional, 2007, www.exploitingonline-games.com.]. В книге подробно рассказывается о промахах, допускаемых игровыми компаниями, и о последствиях этих промахов. Фирмам, разрабатывающим компьютерные игры, это издание поможет извлечь уроки из своих ошибок, да и из ошибок коллег по индустрии. По этой книге можно научиться заранее замечать ловушки, подстерегающие разработчика, - и избегать их.

Волею судьбы выход книги совпал по времени с большущим интернет-скандалом вокруг популярного онлайнового казино AbsolutePoker.com (См. заметку "Абсолютная афера" в КТ #708 - Прим. ред.). Завсегдатаи этого сайта - заядлые картежники - вдруг стали замечать, что некоторые игроки демонстрируют поистине сверхъестественные способности. Своими точными ходами, умелыми ставками и регулярными крупными выигрышами эти счастливчики попирали все законы теории вероятностей, словно видя карты соперников насквозь. Администрация сайта-казино, следуя традиции, ни в какую не признавала очевидные факты жульничества и категорически не желала проводить расследование. Тогда за дело взялись сами посетители сайта. Они собрали массу информации, документально подтверждающей мошенничество, которое стало возможным вследствие слабостей программного обеспечения. Улики, изобличившие одного из технических сотрудников казино, оказались столь вескими, что компания была вынуждена официально извиниться и привлечь к судебной ответственности собственные кадры.

Зачем пишутся такие книги?


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

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

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

 

Почему игры, или о чем эта книга

Завтра

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

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

Итак, почему же на сей раз особое внимание авторы уделили играм? Прежде всего потому, что уже сформировалась крупная виртуальная экономика, которая на множестве направлений пересекается с "реальной" экономикой и оперирует вполне реальными деньгами. С тех пор, как геймеры начали продавать ценимые в играх способности, "игровое золото" и даже целиком персонажей, объекты игр обрели конкретную денежную стоимость в реальном мире. Одновременно мир игр, вроде World of Warcraft, EverQuest и онлайнового покера, привлек интерес и криминального мира. Торговля игровыми объектами ныне тесно переплетена с онлайновым мошенничеством, хищениями персональных данных и отмыванием денег. Так, в разгар финальных игр Суперкубка по американскому футболу сайты главных стадионов США были заражены троянцем, который наряду с кражей финансовой и персональной информации пользователей целенаправленно искал и похищал из компьютеров данные аккаунтов участника World of Warcraft.

Вторая глава ("Хакинг") содержит развернутое обсуждение разнообразных способов манипуляции играми. Большинство этих способов изложено на концептуальном уровне, хотя некоторые вещи разбираются очень подробно и с примерами, включая макрокоды и подпрограммки на языке C. Здесь же анализируются контрмеры, применяемые в играх для борьбы с жульничеством, и несколько популярных способов для обхода этих контрмер.

Глава три ("Деньги") на конкретных примерах исследует работу виртуальной экономики игровых миров. И хотя в предисловии подчеркивается важность экономического аспекта, в самой книге об этом говорится скупо. Впрочем, необъятное, как известно, объять нельзя.

Не может похвастать широтой охвата и глубиной и четвертая глава ("Адвокаты"), в которой собраны сведения об американских законах, регулирующих копирайт и смежные области защиты интеллектуальной собственности, а также рассмотрены всевозможные юридические и технические зацепки, встраиваемые разработчиками ПО в EULA (End User License Agreement, лицензионное соглашение конечного пользователя).

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

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

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

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

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

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

Учиться на ошибках

Еще

Для Хоглунда и Макгроу, авторов новой книги о хакинге онлайновых игр, это далеко не первая работа по компьютерной безопасности. Они уже выпустили с полдюжины книг, посвященных руткитам, безопасному программированию и взлому кодов. Подробности можно найти на сайтах www.buildingsecurityin.com и www.rootkit.com.

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

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

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


Если же копнуть глубже, неизбежно возникнет вопрос о необходимости открытого обсуждения всех уязвимостей. Книга Хоглунда и Макгроу в этом отношении может служить образцом. В индустрии компьютерных игр, спору нет, ставки не столь высоки, как в авиации [см. врезку], однако возникающие и тут и там проблемы имеют много общего. Как и в авиации, разработчики делают серьезные финансовые вложения в успех и производительность своих систем. Однако и остальные участники ставят на кон достаточно много. Онлайновый виртуальный мир, подобный World of Warcraft, порождает собственную экономику, и постоянно расширяется круг людей, чье благосостояние полностью или частично зависит от заработков внутри игровых миров. Валюта игровых миров обменивается на доллары и евро. Экономисты по сию пору оживленно спорят о точном смысле и стоимости валового продукта в виртуальных пространствах, однако в смысле делания денег виртуальная экономика столь же реальна, как и купля-продажа акций на бирже.

Открытая модель против закрытой

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

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

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

 

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

Упомянутый в самом начале принстонский профессор Эд Фелтен, оценивая насыщенную примерами хакинга книгу Хоглунда и Макгроу, заметил, что некоторые разработчики игр, возможно, встретят эту работу без энтузиазма, а то и с раздражением. Не исключено, что они даже попытаются обвинить авторов в подрыве безопасности их игрового программного обеспечения. Но это, подчеркивает Фелтен, будет лишь попыткой самообмана. Если кто-то собирается улучшить практикуемые технологии защиты, то честное обсуждение известных проблем, такое, как в книге, - это единственный путь вперед.

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

анализы: Машины для голосования в России

Автор: Суслов,Алексей

"Компьютерра" уже не раз писала об электронных устройствах для голосования, особенно использующихся в США. Здесь мы расскажем об опыте применения машин для голосования в России, ведь выборы не за горами, и в декабре многим читателям придется иметь дело с подобными устройствами.

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

Попытки автоматизировать процесс подсчета голосов предпринимаются давно. Первые механические машины для голосования применялись еще на выборах в Рочестере (США) в 1892 году. В начале ХХ века считалось, что машины надежнее традиционной системы с бумажными бюллетенями, поскольку делают невозможной фальсификацию результата.

Классификация

Исторически машины для голосования эволюционировали следующим образом:

• машины с непосредственным механическим вводом и счетчиком (наподобие одометра в автомобиле);

• машины с использованием перфокарт;

• оптические считыватели бюллетеней;

• электронные машины.

По способам взаимодействия с избирателем эти устройства делятся на две категории:

• непосредственно взаимодействующие с избирателем;

• обрабатывающие бумажный бюллетень для голосования.

С точки зрения безопасности и проверяемости результатов голосования машины принято делить на программно-зависимые (Software Dependent, SD) и программно-независимые (Software Independent, SI). SI-машины предусматривают проверку голосующим правильности учета поданного им голоса и обеспечивают - даже в случае сбоя, ошибки в программе или механизме машины - возможность корректного подсчета голосов и открытой и ясной процедуры пересчета. В SD-машинах корректность подсчета голосов основывается только на декларациях разработчиков машин.

КОИБы

Системы автоматизации подсчета голосов применяются на выборах в России с 1996 года. Первоначально это были просто сканеры бюллетеней, способные работать только с листами формата А4. Был объявлен конкурс на разработку новых, более совершенных устройств, и с 2004 года на выборах стали применяться комплексы обработки избирательных бюллетеней - КОИБы.


Комплекс представляет собой оптический сканер бюллетеней, расположенный над урной для голосования ("накопителем бюллетеней") и интегрированный с компьютером. Несколько комплексов в пределах одного участка объединены в локальную сеть. К одному из комплексов, который обозначается как "главный", подсоединяются периферийные устройства: принтер, модем. Для уменьшения вероятности выхода из строя всей системы предусмотрена возможность переназначения главного комплекса при сбоях. Комплексы управляются с клавиатуры. Данные о бюллетенях для голосования вводятся с дискет. Сведения о результатах голосования могут быть переданы в территориальную комиссию посредством модема или же на дискете. Идентификация бюллетеней производится по оттиску печати участковой избирательной комиссии, распознаваемой сканером.

Избиратели обычным образом заполняют бюллетени, которые затем считываются сканером и попадают в урну для голосования.

СМИ дают неоднозначные оценки опыта применения КОИБ на прошедших выборах. Так, по официальным данным, использование комплексов позволило уменьшить количество ошибок при подсчете голосов. Контрольные же ручные пересчеты голосов на нескольких участках не выявили сколь-нибудь существенных различий в цифрах. Главными причинами ошибок распознавания называются плохое качество бумаги, типографский брак при печати бюллетеней, слабые оттиски печати участковой комиссии.

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

Электронные комплексы (КЭГ)

Ждем

Когда эта статья готовилась к печати, в редакцию был прислан другой материал на ту же тему, причем за подписью топ-менеджеров (если только этот термин применим в данном случае) Центризбиркома. Самое приятное, что на статью их вдохновила одна из недавних публикаций "КТ". В ответ мы - не терять же такую возможность! - запросили некоторые дополнительные подробности и теперь ждем ответа. Ну а к концу ноября мы готовим тему номера, посвященную всем сторонам избирательного процесса, а также обзор передовых разработок в области электронного голосования. - Л.Л.-М.

Более прогрессивные устройства - комплексы электронного голосования (КЭГ) - представляют собой систему с сенсорным экраном, на котором избиратель отмечает выбранные партии и кандидатов. Бумажный бюллетень для голосования при этом не используется; точнее, голосовать по старинке можно "в случае, если избиратель, предварительно познакомившись с правилами голосования на КЭГ на тренажере, отказывается от электронного голосования…".

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

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

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

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


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



Поделиться книгой:



Регистрация