В категории материалов: 357 Показано материалов: 191-200 |
Страницы: « 1 2 ... 18 19 20 21 22 ... 35 36 » |
Сортировать по:
Дате ·
Названию ·
Рейтингу ·
Комментариям ·
Просмотрам
Идеальный код существует – и это не шутка. Нет, космически спутники,
безошибочная система управления «ядерным щитом», программное обеспечение АЭС тут
совершенно не причём. Идеальный код – это программа, выводящая на экран «Hello
world».
Фраза «Здравствуй, мир!» известна каждому программисту. Появилась она в 1978
году, как пример использования языка С, и до сих пор остаётся первым шагом в
освоении языков программирования для тысяч студентов по всему миру.
Перейдя по
ссылке
вы увидите пример «Hello World» на трёхстах языках программирования. Каждый
вариант программы является примером идеального, безошибочного, совершенного
кода.
На Бейсике программа состоит из 21-го символа. На BIT, Redcode, инопланетном
Credits – нескольких сотен. Разница в методологии между этими языками –
колоссальна. Результат выполнения работы один и тот же. |
Одно из основных направлений в "битве умов" между авторами компьютерных
вирусов и антивирусных программ связано с размещением тела вируса в оперативной
памяти. На первый взгляд, все банально: задача вируса – спрятаться так, чтобы не
нашли, задача антивируса – найти. В ходе эволюции технологий, используемых как
для написания вредоносных программ, так и для противодействия им, появились
достаточно нетривиальные решения. Поле деятельности уже давно не ограничивается
механизмами управления памятью, входящими в состав операционной системы.
Сегодня, для того, чтобы быть "на уровне", авторам, как вирусов, так и
антивирусов необходимо понимание принципов взаимодействия программ и
оборудования, таких как работа с конфигурационными регистрами чипсета,
Model-Specific регистрами процессора (MSR), использование областей памяти,
имеющих специальный статус с точки зрения контроллера памяти (SMRAM, Shadow и
т.п.).
Автор данной статьи не является вирусологом и тем более "вирусописателем", а
работает в области разработки аппаратного и системного программного обеспечения.
Поэтому предлагаемый материал подготовлен как информация о потенциальной
уязвимости, дающей возможность вирусу "спрятаться" нетривиальным методом. Речь
идет об использовании "теневой" памяти или Shadow RAM и представлении вируса в
статусе части выполняемого блока BIOS. |
В ранее опубликованной статье "Вирус
в Shadow RAM" были рассмотрены уязвимости, позволяющие программно
модифицировать выполняемый блок BIOS, находящийся в оперативной памяти.
Очевидно, это дает вредоносным программам широкие возможности, но не вызывает
повреждения оборудования, поскольку искажается не содержимое микросхемы BIOS, а
его копия, находящаяся в ОЗУ и обновляемая при каждом перезапуске компьютера.
Продолжая начатую тему, рассмотрим и более тяжелый случай – искажение
содержимого микросхемы BIOS. После такой атаки, материнская плата требует
ремонта, а точнее – восстановления содержимого микросхемы BIOS. |
В лаборатории компании Websense провели интересно исследование вредоносного
кода, внедряемого на сайты буквально каждый день. В исследовании разобраны
вопросы, связанные с внедрением вредоносного кода, от начала и до конца,
разобран "по косточкам" сам код, а также проанализирован сайт, на который он
ссылается и итоги внедрения. Перевод статьи мы предлагаем вам.
Внедренный код
Свою экскурсию мы начнем с преставления конкретного внедряемого кода, который
попал к нам на рассмотрение, однако не забывайте, что других его разновидностей
на данный момент – тысячи. Нам же предстоит иметь дело с довольно специфичной
инъекцией, жертвой которой уже успели стать десятки веб-сайтов, начиная с
правительственных и финансовых ресурсов, и заканчивая спортивными веб-страницами
и онлайн-магазинами.
Приведенный ниже скриншот показывает, сайты каких категорий уже были
скомпрометированы и демонстрирует внедренный в них код: |
Движки по типу «все включено» получили на просторах Сети широкое
распространение. Зайдя на сайт www.postnuke.ru, я обнаружил, что в качестве
движка используется PostNuke (еще бы :)). Стоит ли говорить, что версия была
последней, а значит, на дыры рассчитывать не приходилось. Набрав в адресной
строке www.postnuke.ru/robots.txt, я получил список запрещенных к индексации
каталогов:
User-agent: *
Disallow: admin.php
Disallow: config
Disallow: header
Disallow: footer
Disallow: pntables
Disallow: referer
Disallow: /images
Disallow: /includes
Disallow: /modules/NS-
Disallow: /pnadodb
Disallow: /themes
Disallow: /pnTemp
Disallow: /docs
Disallow: /javascript
К сожалению, chmod’ы на серверы были расставлены грамотно, так что никакой
дополнительной информации мне получить не удалось. Тогда я вспомнил об удобном
сервисе по сбору данных из Гугла –
madnet.name/tools/madss. Вбив урл атакуемого ресурса, буквально через пару
секунд я лицезрел ответ: |
Теория игр – раздел математики, описывающий состояние динамически
взаимодействующих систем категориями простых математических величин. Игра –
имитация реальности, как идеальный газ в термодинамики или кот Шрёдингера для
квантовой теории. Игра – лучший способ постижения Дао хакерства.
Игры, имитирующие деятельность компьютерного взломщика, и эмуляторы
хакерского вторжения чаще всего строятся по одним принципам. Научиться
взламывать по ним, конечно, нельзя. Проверить накопленные знания? Ну, для этого
выберите соответствующую викторину. Самое важное, что дают хакерские игры –
проникновение в атмосферу андеграунда. С резким привкусом озона от перегруженных
трансфертных сверхмагистралей, с красными глазами, отсвечивающими зелёными
строчками дикого китайского кода, с чувством невероятного удовлетворения от
решения сложных математических задач. Всё это гораздо интереснее скучной консоли
и унылой текстовой информации. Фотошопный интерфейс, голографические
мегапрограммы и яркая психоделическая фантазия сценаристов со всеми теми
штуками, которые навсегда останутся для обычных пользователей шамбалой
компьютерных технологий. Настоящий хакерский андеграунд найти – нельзя. А
увидеть – запросто.
|
Идея использовать неинициализированные переменные для локальных/удаленных
атак пришла в хакерские головы еще лет десять тому назад. Однако, ни одного
работоспособного exploit'а за минувшее время не появилось. Почему? В отличие от
переполняющихся буферов (легко обнаруживаемых fuzzer'ами), поиск
неинициализированных указателей требует кропотливого ручного анализа кода и
творческого вдохновения. Без него разобраться в вековых наслоениях пластов
различных модулей (по которым можно изучать хронологию развития Си++) не так-то
просто, если вообще возможно. |
В Perl предусмотрен механизм фильтров через которые пропускаюся исходные
файлы перед тем, как они будут обработаны интерпретатором. Одним из таких
фильтров является Decrypt, который расшифровывает предварительно зашифрованный
файл. Таким образом в Perl можно реализовать скрытие исходных текстов.
По-умолчанию применяется обычный XOR, однако разработчик имеет возможность
подключить любой алгоритм. Сам модуль, включая алгоритм шифрования, как правило,
статически линкуется с интерпретатором, что немного усложняет расшифровку. В
статье будет показано как можно получить исходный текст из зашифрованного файла
независимо от того, чем изначально этот файл зашифрован. Об алгоритме шифрования
нам не нужно знать ничего, это может быть самый стойкий криптографический
алгоритм с бесконечной длиной ключа. Вот пример такого файла (часть строк
вырезана): |
Движки по типу «все включено» получили на просторах Сети широкое
распространение. Зайдя на сайт www.postnuke.ru, я обнаружил, что в качестве
движка используется PostNuke (еще бы :)). Стоит ли говорить, что версия была
последней, а значит, на дыры рассчитывать не приходилось. Набрав в адресной
строке www.postnuke.ru/robots.txt, я получил список запрещенных к индексации
каталогов: |
В лаборатории компании Websense провели интересно исследование вредоносного
кода, внедряемого на сайты буквально каждый день. В исследовании разобраны
вопросы, связанные с внедрением вредоносного кода, от начала и до конца,
разобран "по косточкам" сам код, а также проанализирован сайт, на который он
ссылается и итоги внедрения. Перевод статьи мы предлагаем вам. |
|