Мысль о том, что можно создать программу, которая будет копировать сама себя, наверняка появилась одновременно с появлением операционных систем и файловых систем.
Например, на заре развития технологий компьютерных сетей, когда связь с каждым узлом сети нужно было конфигурировать вручную, компании, которые содержали десятки-сотни компьютеров, соединённых в сеть, использовали так называемых "пауков" для того, чтобы отслеживать целостность сети.
"Паук" представлял собой программу, которая после запуска начинала перебирать все доступные узлы сети и при нахождении нового узла пересылала туда свою копию, после чего новая копия запускалась уже на том узле и продолжала поиск доступных узлов оттуда. Таким образом "пауки" обходили всю сеть и составляли отчёт для сисадминов, с помощью которого можно было выявить, например, недавно добавленные узлы, которые ещё не везде доступны или же, напротив, обнаружить ссылки на уже отключённые узлы. То есть, паук - это полезный вирус.
Я не знаю, какой конкретно вирус был первым и зачем он был написан. Википедия тоже конкретных фактов не называет. Сама идея "размножающейся" программы интуитивно проста, поэтому прорыва здесь никакого нет. Приспособить для этой цели паука - тем более дело нехитрое (хотя я не утверждаю, что первый деструктивный вирус появился позже, возможно они появились одновременно, идея-то проста). И постоянно находится какой-нибудь человек, которому нравится идея что-нибудь сломать, особенно - изощрённым способом.