Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #58, СЕНТЯБРЬ 2005 г.

Инструктаж перед боем

Крис Касперски

Спецвыпуск: Хакер, номер #058, стр. 058-018-7


// ВНИМАНИЕ: таким образом можно юзать только до 64 Кб

// если же требуется буфера больших объемов,

// используй функцию GetASPI32Buffer

buf_len = PACKET_LEN*atol(argv[4]); p = malloc(buf_len*2);

memset(p,0x55,buf_len*2);

// создаем событие

if ((hEvent = CreateEvent(NULL,FALSE,FALSE,NULL)) == NULL) return -1;

// читаем один или несколько секторов

READ_SECTOR(atol(argv[1]), atol(argv[2]),p,buf_len, atol(argv[3]),

atol(argv[4]),WHATS_READ);

// ждем завершения выполнения операции

WaitForSingleObject(hEvent, TIME_OUT);

return 0;

}

Другой пример. Не менее популярный антивирус Dr.WEB при запуске из панели управления отображал графический интерфейс, передавая ему все свои привилегии (то есть SYSTEM), который охотно раздавал их всем желающим. В меню About присутствовала традиционная ссылка на страничку разработчиков (куда же без нее), при нажатии на которую вызывался браузер по умолчанию... А вот это уже люк! Заменив IE на свою программу, хакер имел SYSTEM и мог вытворять все что угодно. Даже самый последний ламер, набрав в адресной строке путь к локальному файлу (например "file://C:\WINNT\System32\cmd.exe), получал в свое распоряжение орудие убийственной силы.

При разработке ответственных приложений доверять никому нельзя! Ни своему собственному коду, ни даже операционной системе. Следует предусмотреть все возможные варианты развития событий, но и не скатываться до тривиального подсчета контрольных сумм, который очень легко отломать. Защита должна защищать, а не создать видимость защищенности. Говорят, в Египте прямо посреди пустыни установлены ворота, регламентирующие ввод/вывод. Тьфу! Вход/выход. Ну, порядок у них такой. Но без ворот в пустыню сможет попасть кто угодно и когда угодно. Так вот, многие программы построены по той же самой схеме. Да, в них действительно есть мощная система шифрования и 128-битный ключ (а иногда и 1024-битный), но она установлена посреди пустыни!

Этикет сообщений об ошибках

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

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

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

Назад на стр. 058-018-6  Содержание  Вперед на стр. 058-018-8