Phy писал(а):
Я бы хотел поподробнее про "ошибки проектирования системы"
Да их полно, причём, очевидных. Начать с авторана. Ещё когда он только появился, первая моя мысль была: "А если компакт-диск завирусован?" И ведь действительно полно было всяких приатских дисков с вирусами. Неужели до этого сложно додуматься?
Когда ввели скрытие расширения имени файла, я вообще громко выругался, т.к. первая мысль была - а как теперь отличать, что за файлы? По иконкам? Так ведь к экзешнику можно приделать ЛЮБУЮ иконку! Я уже не говорю про злонамеренные случаи - двойное расширение и иконка документа. Я до сих пор не понимаю, кому из проектировщиков пришла в голову такая дурацкая мысль.
Постоянное желание винды сохранять пароли к сетевым ресурсам. И это при том условии, что мастер-пароли в старых версиях винды шифруются откровенно слабо, а то его и вообще может не быть! Пришёл злоумышленник, включил комп, - и вот тебе доступ к защищённому во всех отношениях серверу!
Помимо "нововведений" большинство систем (не только винда) почти всегда наследует старые проблемы. Например, как ни пытались разработчики сделать винду многопользовательской, так до сих пор толком ничего не выходит, в отличие от изначально многопользовательских систем. Защита файлов - отдельная песня. Либо вообще никакой защиты (FAT), либо такая, от которой сам часто страдаешь (NTFS). Хотя, на самом деле, в
любой файловой системе достаточно просто налаживается защита доступа при помощи наложенной базы данных.
Я сейчас не могу точно привести ссылку, но ещё во время судебных разбирательств антимонопольщиков с Майкрософт на одном из заседаний технические представители майкрософт признали, что в винде есть фундаментальная неустранимая брешь, связанная с посылкой сообщений между процессами. Если в системе запущен процесс, он может бесконтрольно рассылать сообщения системным процессам, подделываясь под другие системные службы (message spoofing). Таким образом, винда может быть и может эффективно работать в качестве сетевого сервиса (веб-сервер или файловый сервер), но в качестве публично доступного сервера приложений для нативного кода (т.е. не виртуальной машины в песочнице) весьма маловероятно.
Я бы ещё понаписал, но, пардон, работать надо...
Phy писал(а):
Вот вирусы (настоящие, которые внедряются в exe/dll) под Win писать не так уж легко. API надо выковыривать... В Линухе всё просто
Наверное, имелся ввиду ABI (Application
Binary Interface). API как раз хорошо документирован и ничего выковыривать не надо. Да ABI в общем-то и не нужен. Достаточно API, которым и пользуются все вирусы/трояны.