воскресенье, 26 июня 2011 г.

Для самых маленьких. DoS-атака

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

Итак, автор ArkSmoke или А.Сергеев (кому как больше нравится – лично мне совершенно все равно), название «В атаке»:

Не надо пива и подружек,

И тренировка подождет –

И только мышке придется худо,

Она одна меня поймет.

Забита флэшка под завязку,

На кухне чай давно остыл,

А сервер держится проклятый –

Кто ж так защиту намудрил.

Машина пламенем объята –

Ну что же делать Боже мой –

Она ни в чем не виновата:

Пробьем и этот firewall!

А если тулзы не помогут,

Пойдем с другой мы стороны –

Загрузим Google окаянный:

В нем будут бреши все видны.

Ну что поделать, братья-сестры?

Как нам там Петр говорил –

Окно мы в сервер все ж прорубим,

Пусть ddos-атаку замутим.

И полетят тут мегабайты,

Круша все на своем пути,

И на развалинах системы

Админку надо будет лишь найти.

Теперь и можно взять и пива,

Сказать: «Админчик не дурак»:

Он сделал все в полнее красиво,

И не его вина, что сервер все-таки обмяк.

Теперь пару слов в рубрику «Реальный пример» и определение «Для самых маленьких».

Совершенно верно, что в шутке только лишь доля шутки, о ролях шуток в истории и биографиях замечательных людей можно говорить долго, пошутить мы уже пошутили, а вот теперь пример из жизни: совершенно недавно наблюдал картинку падения серверов достаточно крупной организации. Все бы было ничего, если бы это не была планомерная акция самой организации – надо только додуматься издать распоряжение на одновременное подключение к одному ресурсу, почти всей вычислительной мощи организации (несколько областей центрального региона). Вот сервер и не выдержал. Менеджеры опять доставили кучу работы АйТишникам, а так как многие из этих АйТишников от слова Ай, то систему еще не в полном объеме восстановили, вот Вам живой пример DdOS атаки и грамотности управленческого персонала.

Сейчас самым маленьким читателям поясню, о чем идет речь:

DoS-атака (от англ. Denial of Service, отказ в обслуживании) — атака на вычислительную систему с целью довести её до отказа, то есть создание таких условий, при которых легитимные (правомерные) пользователи системы не могут получить доступ к предоставляемым системой ресурсам (серверам), либо этот доступ затруднён. Отказ «вражеской» системы может быть как самоцелью (например, сделать недоступным популярный сайт), так и одним из шагов к овладению системой (если во внештатной ситуации ПО выдаёт какую-либо критическую информацию — например, версию, часть программного кода и т. д.).

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

четверг, 2 июня 2011 г.

Где одни в поле...

Пролистал (прочитать не хватило нервов) новостную ленту, которую однажды озаглавил «Информбезопасность». Лента сама по себе скучная. Но вот общая картина, которую она нарисовала, получилась удручающая: Англия и Китай готовятся к кибер войне, при этот Китай обороняется, Англия нападает, защита Китая уже отразила несколько атак, США приравнивают хакеров к мафиози и во всех бедах и коллапсах винят Китайских хакеров (благо Бена Ладена уничтожили). Что происходит в России? А в России принимается закон о минимальной заработной плате – меньше пяти тысяч. И что же получается: когда весь цивилизованный мир готовится к информационным войнам, мы думаем, как до получки дотянуть? Вообще говоря, правильный подход – нечего народу голову забивать какой-то там безопасностью, пусть про экономику думают – благо есть кому: экономистов и юристов пруд пруди, а инженеров днем с огнем, что говорится. Но суть не в этом, суть в подходе к решению системных проблем. Проще говоря, этого подхода нет совсем: все, что мы знаем про информ безопасность, собрано по крупицам энтузиастами – и этот энтузиаст может сразиться с целой армией, и не будет понятно кто кого. Вот где одни в поле воин – на поле информационных воин. =)

четверг, 19 мая 2011 г.

Для самых маленьких. Точка входа


Продолжая переводить пост Марка Руссиновича, столкнулся с еще одним термином – Точка Входа. Заостряю Ваше внимание на терминологии. Если есть желание стать профессионалом в той или иной области, то надо начинать с грамотного и точного употребления терминологии – ну путайте, пожалуйста, терминологию со сленгом. Употребления сленга (профессионализмов – как принято говорить) не показывает, что человек профессионал в этой области, это быстрее показывает на то, что человек не владеет терминологией. Имейте это ввиду. Итак,

Точка входа — адрес в оперативной памяти, с которого начинается выполнение программы. Другими словами — адрес, по которому хранится первая команда программы. Однако не надо путать ее с «первыми командами» программы на языке высокого уровня. Например программа на C++ начинает выполнение с функции «main()», на самом деле, программа в памяти начинается далеко не с первой команды функции «main()».

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

Это все, что надо знать про точку входа, для чтения поста Марка Руссинович. Да прибудет с Вами сила!

воскресенье, 8 мая 2011 г.

Для самых маленьких. Реверс-инжиниринг


Работа над очередным переводом поста Марка Руссиновича обозначила необходимость создания нового поста в рубрику «Для самых маленьких». Лично я очень люблю эту рубрику: зачастую мы мало времени уделяем основам, а потом, как результат, говорим на разных языках, вкладывая в одни и те же термины совершенно разные значения. А знание терминов, я отношу к базовым знаниям предметной области.

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

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

Итак, сегодня у нас на повестке дне вопросы, связанные с обратной инженерией. Интересно? Тогда – поехали:

Обра́тная разрабо́тка (обратный инжиниринг, реверс-инжиниринг; англ. reverse engineering) — исследование некоторого устройства или программы, а также документации на него с целью понять принцип его работы и, чаще всего, воспроизвести устройство, программу или иной объект с аналогичными функциями, но без копирования как такового.

Вопрос плагиата оставляем за кадром. Как говорит одни из моих учителей: «Если ты скопировал и вставил, не читая, - это плагиат, а если прочитал, осмыслил, изложил своими словами – это уже уровень курсовой работы».

Суть реверс-инжиниринг в программировании – взять готовую программу и получить ее исходный код - так называемый листинг.

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

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


Дизассемблер
— транслятор, преобразующий машинный код, объектный файл или библиотечные модули в текст программы на языке ассемблера.

Что делать с листингом на ассемблере? – изучать, и понимать, что делает каждый программный модуль. Страшно? А кто говорил, что будет легко.




  • Автоматические
  • Интерактивные

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

Пример интерактивного — IDA. Он позволяет изменять правила дизассемблирования и является весьма удобным инструментом для исследования программ.

Прозвучал термин «транслятор». В данном посте определим его просто: транслятор – программное средство, позволяющее переводить код программы, написанной на более высоком уровне, в код более низкого уровня. И так по цепочке, до машинного кода.

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

понедельник, 2 мая 2011 г.

Zero Day. К публикации


Продолжаю переводить блог Марка Руссиновича, посвященный Zero Day. На этот раз это будет The Road to Zero Day: Publisher to Publication. Рассказ о публикации романа.

Меня обнадежили в том плане, что, возможно, Zero Day опубликуют в 2009 году, но до марта не был закончен и подписан контракт с Thomas Dunne Books, а, если верить людям, то с момента подписания контракта до выхода книги проходит год. Мой редактор сказал, что книгу собираются публиковать в каталоге весны 2010 года. Я сделал еще одну переработку, на что потребовалось чуть больше времени, чем на предыдущую. Редактор так же посоветовал сделать несколько аннотаций на обложку. К счастью, почти сразу после этого разговора я встретился с Биллом Гейтцем и попросил его написать мне такую аннотацию. С Б.Гейтцем я встречаюсь регулярно с тех пор, как стал работать в Microsoft, и в разговорах мы часто затрагиваем тему информационной безопасности. Я уже рассказывал ему про книгу, поэтому он уже знал про нее. К моему великому изумлению, он согласился написать такую аннотацию. Каждая моя встреча с Биллом кажется немного сюрреалистичный, и, выходя из офиса тем днем, я думал, а было ли этот разговор в действительности. Практически сразу я отослал Биллу рукопись, и, спустя несколько недель, он прислал мне аннотацию, которую Вы все видите на главной страничке сайта.

Следующая рецензия пришла от Говарда Шмидта, сейчас координатора президента Обамы в вопросах информационной безопасности, с которым меня познакомил друг из Microsoft’а. Говард начал проявлять инициативу по созданию защитных систем в Microsoft в 2000 году, когда информационная безопасность стала одним из приоритетов Microsoft, прежде чем он ушел в администрацию Буша советником президента по информационной безопасности. Он бежал в консалтинговую компанию по информационной безопасности, базирующуюся в Лондоне, но оказался поблизости, и мы вместе пообедали. Zero Day отражал некоторые из серьезных его опасения по поводу информационной безопасности, и он согласился прочитать книгу. Через пару недель он прислал не только обещанную аннотацию, но и написал предисловие к книге, что оказалось неожиданным, но очень приятным бонусом. Но еще более неожиданным и головокружительным оказалось то, что вскоре после того, как он направил мне предисловие с аннотацией моей книги, я прочел новость, что он назначен в администрацию Обамы. Его полномочия впечатляли тогда, сейчас же он получил еще больше возможностей.

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

После ланча, мы поехали в Флэтайрон-билдинг, Нью-Йоркскую достопримечательность, где располагаются St.Martins Press и офис Тома. Я быстро прошел по редакции и пообщался с сотрудниками. Было здорово, окунуться в мир издательства и провести обед, обсуждая романы и технику их написания с профессионалом в этом деле.

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

Затем, уже летом, Джон сказал мне, что оставляет Томаса Дана, чтобы возглавить Mulholland Books, Little. Смена работы редактора в середине работы надо проектом книги может означать конец книги. К счастью, другой редактор, Питер Джозеф, включился в работу и возглавил проект. Я не могу сказать, что после всех своих опытов я стал больше понимать в книгопечатном бизнесе, но мне приятно, что есть люди, достаточно сильно верящие в мою книгу, и готовые помочь в публикации.

За осень 2010 года мы собрали большое количество аннотаций. Отозвался Вильям Ландай, автор отмеченной наградами книги «Душитель» (The Strangler), про мафию коррупционеров Бостона в 1960ых годах, во время активности бостонского душителя. Мне было приятно получить отзыв от признанного мастера триллеров. Затем мой агент сказала мне, что получила отзыв от автора бестселлера по признанию «New York Times» - Нельсона Де Миля. Я был в восторге. Я чувствовал, что Zero Day – достойная книга, но не знал, как она будет принята особенно читателями не знакомыми с технической литературой. Наличие желания таких громких писателей поручиться за мою книгу было крайне необходимым. Я отослал Нельсону благодарственное сообщение и в ответ получил, что книга ему, действительно, понравилась. К этому времени я получило больше отзывов от технических и публицистических писателей, чем рассчитывал, когда писал книгу.

Кроме того, осенью я подыскивал PR агентства, чтобы они содействовали в продвижении книги на рынке. После собеседований с несколькими компаниями я остановился на Phenix and Phenix. Компания специализировалась на книгах и продвигала нескольких моих любимых авторов, включая Бэна Бова, которые Вам знакомы, если Вы увлекаетесь научной фантастикой. Я читал много его книг в юношестве, а «Машина дуэли» (The Dueling Machine) произвела на меня впечатление, под которым я нахожусь и по сей день.

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

понедельник, 18 апреля 2011 г.

Отношение к специалистам. Пример реальный

«Больно мне за наш СССР»

В.С.Высоцкий

Говорить о том, как обстоят дела с кибер безопасностью в России, наверное, так же, как и описывать ситуацию с энергетикой: специалисты есть, что-то делается, приказы исполняются, отчеты пишутся, планы переносятся…

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

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

Все наши разработки, увы, но умерли, когда мы стали следовать принципу: «Зачем нам что-то придумывать: возьмем напильник и у американцев архитектуру угоним!» наугонялись. Так же точно обстоят дела и с осью – проще говоря, никак.

Долго и усиленно ходят слухи о перевооружении школ. Выделяются деньги. Вопрос: куда они уходят? Лично я, не верю в хорошую переработку Пингвина для наших школ, но это тоже отдельная тема для большого и обстоятельного разговора. Просто две эти темы связаны и идут бок о бок. Мы наблюдаем подбор кадров для разработок систем, тихонько впадаем в панику, видим лоббирование интересов безграмотных депутатов в управление энергетиков: их попытки поставить на руководящие должности в районные сети своих детей (может быть и грамотных специалистов, но совершенно из другой области). «Само же собой напрашивается: хорошего механика перевести в повара, а повара в механики. Тут не то что двадцать два часа – двадцать два года заполнить можно». И пока все будет делаться с этой логикой, ничего путного не будет. И вся информзащита будет на плечах хакеров-интузиастов, основная работа которых к вычислительной технике имеет на такое уж и близкое отношение.

понедельник, 11 апреля 2011 г.

Zero Day. Поиск издания

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

Но пост от Марка Руссиновича, приятного чтения:

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

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

Меня слегка удивило отсутствие успеха, но без всякого зазора совести, я послал пакет корреспонденции в другую двадцатку издательств. Следующие три месяца мне шли аналогичные письма. Пришлось принять решение, публиковаться самостоятельно, но одни из друзей сказал, что он знает рекламное агентство “agent agent” – суть в том, что это агентство работает с другими агентствами (вот что я называю двойное агентство). Я просто плачу ему фиксированную сумму, и оно находит мне издателей за три месяца, в противном же случае книга просто не пригодна для больших тиражей.

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

В конце концов, спустя полтора месяца, Анн Колит из Helen Rees Literary Agency сказала, что по ее мнению у книги большой потенциал, и она возьмется за ее публикацию. После того, как я связался с ней, он отредактировала рукопись и дала несколько советов по созданию интриги в сюжете. Я последовал ее советам, сделал некоторую переработку, и началась следующая фаза работы над изданием – поиски основного редактора и главного коммерческого издателя. Она отослала книгу по списку из десяти издательств, и в течении нескольких недель мы получали тот же ответ, что и в начале моей охоты на издателя. Но за тем нам пришел положительный ответ от редактора одного большого издания. Он говорил, что ему книга понравилась, и он готов сделать следующие шаги для ее продажи и прочей работы команды маркетологов. Мои надежды стали расти. Но несколько дней спустя, он сообщил, что не может добиться поддержки у себя в издании. Ничего не получилось.

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

Осенью 2008 Джон Шонфельдер из Thomas Dunne Books заинтересовался работой. Я навел некие справки про Thomas Dunne Books и узнал, что это подразделение St. Martin’s Press, одного из больших издательств. Мы отослали полный черновик книги осенью 2009 года, и, спустя несколько недель, пришел ответ, что сам Томас Данн прочитал книгу, и она ему понравилась. Я был в восторге. Охота на редактора была завершена, все решилось. К слову, в это время я читал роман Дэна Брауна «Цифровая крепость», и Ден Браун благодарил Томаса Данна за то, что тот был его редактором. Так что я попал в хорошую компанию.