Я пиарюсь → Пока McAfee и Intel разрабатывали, мы уже сделали
Думаю, многие специалисты в области информационной безопасности уже слышали про технологию DeepSAFE от компании McAfee.
Цитата с этой страницы звучит так: "McAfee и Intel объединяют усилия с целью кардинального изменения ситуации в отрасли информационной безопасности".
Пока McAfee и Intel объединяли усилия, мы вдвоём взяли и сделали то, над чем они до сих пор трудятся. Мы зарелизили наш Rootkit Detector, над которым работали 4 года.
Цитата с этой страницы звучит так: "McAfee и Intel объединяют усилия с целью кардинального изменения ситуации в отрасли информационной безопасности".
Пока McAfee и Intel объединяли усилия, мы вдвоём взяли и сделали то, над чем они до сих пор трудятся. Мы зарелизили наш Rootkit Detector, над которым работали 4 года.
Блог компании HP → Комментарий дня: Как предсказал Oracle

UPDATE: Итак, подводим итоги!
В результате голосования и естественного отбора, победителем объявляется zak2k! Его история, наполненная юмором и свежестью, заслуживает всяческих похвал. Следом за zak2k-ом идет Labinskiy, поражающий краткостью (истину говорит пословица!) и лаконичностью! Ну и 3,4,5 места, по голосованию присваиваются zboris, Smasher и Turansky.
Победителей просим предоставить свои адреса для доставки призов в личку автора поста Morow.
Всем спасибо за участие!
Приветствуем тебя, Хабражитель!
В блоге HP продолжается традиционный конкурс «комментарий дня». На этот раз темой конкурса станет компания Oracle, ее харизматичный лидер Ларри Эллисон, многогранные и многослойные продукты, а также серверы и процессоры Itanium, «заточенные» под них. Известно, что они частенько бывают неосторожны в высказываниях, капризны, сложны в настройке, прожорливы (догадайтесь, какой эпитет к чему относится), но в общем и целом делают лучше жизнь отдельных людей, компаний и огромных корпораций.
Как обычно, мы попросим вас рассказать о первом знакомстве, интересном опыте или любопытном случае из жизни, связанном со всем вышеперечисленным. Не стесняйтесь комментировать, даже если отношение весьма отдаленное – чем шире выбор, тем больше возможность привлечь внимание именно своей историей. Авторы наиболее популярных (или наоборот, тут уж как поведется, бывает всякое) получат от нас замечательные призы. В этот раз их много, что просто не может не радовать.



Историкам и рассказчикам предстоит побороться за HP Microserver (лучший сервер из тех, что можно представить дома), специальный брэндированный рюкзак HP (специально разработан для ношения ноутбуков,) и модные молескины с символикой HP-UX (можно записывать истории для будущих конкурсов).
Системное программирование → Пишем viewer почтовой базы MS Exchange (часть 2)

Здравствуйте, читатели Хабрахабр!
Это завершение поста начатого вот здесь.
В принципе, мы почти все уже сделали, осталось небольшое окончание. Напомню, мы взяли EDB базу, открыли ее, воспользовавшись технологией ESE, перечислили имеющиеся таблицы и начали перечислять колонки внутри этих таблиц. Нам осталось дополучить колонки, получить значения столбцов и вуаля, база прочитана.
Системное программирование → Пишем viewer почтовой базы MS Exchange (часть 1)

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

Наверное, уже каждый школьник слышал о руткитах, которые миллионами устанавливаются на компьютеры пользователей. Многие из этих руткитов созданы профессионалами и сложны для обнаружения. В этой статье мы постараемся рассказать о своём опыте борьбы. Вам будет представлен один из методов, который подходит для обнаружения подавляющего большинства руткитов, как известных, так и неизвестных. Особенность этого метода в том, что он не зависит от операционной системы и деталей реализации руткита. Также мы представим созданную нами утилиту для специалистов по компьютерной безопасности. Но обо всём по-порядку.
Персональные блоги → [C#/.NET] Генерируем машинный код с помощью LLVM
В этом топике я покажу, как без особых трудов сгенерировать и выполнить машинный код с помощью Low Level Virtual Machine на примере функции, вычисляющей ответ на главный вопрос жизни, вселенной и всего такого.
А для работы нам понадобятся
Windows → Исходники Windows Research Kernel в свободном доступе
Что же такое Windows Research Kernel?
Windows Research Kernel содержит исходные коды основной части ядра Windows (NTOS).
NTOS реализует базовые функции операционной системы для:
- процессов;
- потоков;
- виртуальной памяти и менеджеров кэшей;
- управления вводом/выводом;
- реестра;
- исполнительных функций, таких как куча (heap) ядра и синхронизация;
- менеджера объектов;
- механизма локального вызова процедур;
- низкоуровневого управления CPU (планирование потоков, асинхронные и отложенные вызовы процедур, обработка прерываний/ловушек, исключения).
Персональные блоги → Как найти работу новичку системного программирования?
Я студент ВМиК МГУ, 3 курс. Специализация — системное программирование.
Года полтора работал программистом C#, однако написание логики сайтов на ASP.NET и портирование автоматных игрушек на движок не кажутся интересными занятиями и потому сильно утомляют. В конце концов, не для того идут учиться в МГУ.
Разумеется, с чего-то надо было начинать. Но опыт и навыки программирования есть (вплоть до функционального), а значит нужно искать работу по интересам и специальности. Вот только что-то не видно на hh.ru вакансий по разработке компиляторов и/или распределённых систем не только для новичков, желающих учиться, но и для опытных профессионалов.
Не может быть, чтобы это направление совершенно не было востребовано.
Года полтора работал программистом C#, однако написание логики сайтов на ASP.NET и портирование автоматных игрушек на движок не кажутся интересными занятиями и потому сильно утомляют. В конце концов, не для того идут учиться в МГУ.
Разумеется, с чего-то надо было начинать. Но опыт и навыки программирования есть (вплоть до функционального), а значит нужно искать работу по интересам и специальности. Вот только что-то не видно на hh.ru вакансий по разработке компиляторов и/или распределённых систем не только для новичков, желающих учиться, но и для опытных профессионалов.
Не может быть, чтобы это направление совершенно не было востребовано.
Системное программирование → Crash dump'ы и KeCapturePersistentThreadState
Я тут обнаружил очень занятную недокументированную функцию, экспортируемую ядром, на которую нет ссылок внутри ядра, но которая делает весьма занятную вещь. А именно, записывает в переданный кусок памяти полноценный minidump на данный момент времени.
Весьма полезно с учетом того, что там (в дампе) есть оффсеты неэкспортируемых структур типа PsLoadedModuleList, которые могут пригодиться.
Спасибо Freeman за помощь)
Входные параметры:
Context — текущий контекст (можно от балды, нужно лишь заполнить EIP & ESP)
Thread — текущий поток. можно указать NULL, тогда она сама возьмет текущий
BugCheckCode, ParametersX — багчек код и аргументы, которые она запишет в дамп.
VirtualAddress — адрес выделенных 16 страниц памяти (64кб), куда она положит аккуратно готовенький крешдамп.
Пример:
Заголовок дампа:
Использование функции: www.everfall.com/paste/id.php?mkgmkfg1a057
Кодес получает дамп, показывает адерса MmPfnDatabase, PsActiveProcessHead, PsLoadedModuleList и сбрасывает дамп на диск. Дамп можно спокойно запихать в WinDbg и изучать
Вообщем, весьма занятная штуковина…
Надо будет переписать свой gr8lkd (http://gr8lkd.googlecode.com/) с использованием этой функции.
Весьма полезно с учетом того, что там (в дампе) есть оффсеты неэкспортируемых структур типа PsLoadedModuleList, которые могут пригодиться.
Спасибо Freeman за помощь)
ULONG
NTAPI
KeCapturePersistentThreadState(
PCONTEXT Context,
PKTHREAD Thread,
ULONG BugCheckCode,
ULONG BugCheckParameter1,
ULONG BugCheckParameter2,
ULONG BugCheckParameter3,
ULONG BugCheckParameter4,
PVOID VirtualAddress
);Входные параметры:
Context — текущий контекст (можно от балды, нужно лишь заполнить EIP & ESP)
Thread — текущий поток. можно указать NULL, тогда она сама возьмет текущий
BugCheckCode, ParametersX — багчек код и аргументы, которые она запишет в дамп.
VirtualAddress — адрес выделенных 16 страниц памяти (64кб), куда она положит аккуратно готовенький крешдамп.
Пример:
Заголовок дампа:
typedef struct _DUMP_HEADER {
/* 00 */ ULONG Signature;
/* 04 */ ULONG ValidDump;
/* 08 */ ULONG MajorVersion;
/* 0c */ ULONG MinorVersion;
/* 10 */ ULONG DirectoryTableBase;
/* 14 */ PULONG PfnDataBase;
/* 18 */ PLIST_ENTRY PsLoadedModuleList;
/* 1c */ PLIST_ENTRY PsActiveProcessHead;
/* 20 */ ULONG MachineImageType;
/* 24 */ ULONG NumberProcessors;
/* 28 */ ULONG BugCheckCode;
/* 2c */ ULONG BugCheckParameter1;
/* 30 */ ULONG BugCheckParameter2;
/* 34 */ ULONG BugCheckParameter3;
/* 38 */ ULONG BugCheckParameter4;
/* 3c */ CHAR VersionUser[32];
/* 5c */ UCHAR PaeEnabled;
UCHAR NotUsed[3];
/* 60 */ PVOID KdDebuggerDataBlock;
} DUMP_HEADER, *PDUMP_HEADER;Использование функции: www.everfall.com/paste/id.php?mkgmkfg1a057
Кодес получает дамп, показывает адерса MmPfnDatabase, PsActiveProcessHead, PsLoadedModuleList и сбрасывает дамп на диск. Дамп можно спокойно запихать в WinDbg и изучать
Вообщем, весьма занятная штуковина…
Надо будет переписать свой gr8lkd (http://gr8lkd.googlecode.com/) с использованием этой функции.
Системное программирование → Пишем свой первый Windows-драйвер
Итак, после моей предыдущей статьи я понял что тема про программирование драйверов Windows интересна хабровчанам, поэтому продолжу. В этой статье я решил разобрать простую программу-драйвер, которая делает только то, что пишет отладочное сообщение «Hello world!» при старте драйвера и «Goodbye!» при завершении, а также опишу те средства разработки, которые нам понадобятся для того, чтобы собрать и запустить драйвер.