Дмитрий Радищев (dibr) wrote,
Дмитрий Радищев
dibr

огромные боевые человекоподобные вирусы

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

     А я, собственно, о компьютерной микробиологии. Если проводить аналогию между живым миром, и миром программ, то компьютерные вирусы окажутся ближе всё-таки к бактериям, чем к вирусам: биологические вирусы сами размножаться не умеют, умеют только доставлять "программу" к клетке и впрыскивать её внутрь, остальное делает обманутая вирусом клетка, компьютерные же вирусы ничем принципиально не отличаются от обычных программ - точно такой же программный код, на общих правах выполняющийся процессором и так же как все использующий "сторонние" функции (сисколлы, dll, прочее). Разве что узкий подкласс вирусов, заражающих веб-сайты, вставляя туда ссылку на себя, близок к биологическому вирусу: код вируса при распространении не выполняется, работает штатный www-сервер, но раздаёт вирус.

     Но я немного о другом. И в природе, и в компьютерах, есть множество странных и сложных исторически возникших зацепок (вроде например такой сложной цепочки, использовавшейся одной бабочкой при размножении). Вирусы и бактерии используют уязвимости в организме/системе, чтобы проникнуть внутрь и получить доступ на выполнение - в природе обычно "брутфорсом", в компьютерах - "хитростью". При этом сложность системы такова, что "зацепки" бывают весьма неочевидными - чтобы добиться перехвата управления, вирусы иногда используют нетривиальные подходы...
     ...скажем, упоминавшийся ранее "боевой вирус StuxNet", тот самый, предположительно отработавший по Иранскому уранообогатительному заводу, можно сказать "заражает взглядом". Для заражения достаточно просто посмотреть на иконку зараженного файла - используется уязвимость в процедуре показа иконок в винде, в результате чего сам факт показа иконки приводит к передаче управления телу вируса. Причём показ иконки не только в "проводнике", но и например в total commander - он использует ту же системную процедуру. Привет тем, кто считает "альтернативные файлменеджеры" безопасными - у меня синие панельки FAR, он иконки не показывает, но после подобных случаев я как-то тоже начинаю задумываться...

     Но я опять немного о другом. Идея собственно уязвимости здесь наверняка тривиальная, что-нибудь вроде переполнения буфера, но внешнее проявление - довольно неочевидно: "показали иконку - выполнился вирус". По сравнению с тем же autorun-вирусом это куда менее понятный путь заражения: мало кто догадывается, что просто посмотреть содержимое каталога может быть уже опасным. А при таких вот неочевидных зависимостях внутри системы, возможны всякие неожиданности...
     Скажем, в живой природе, кроме вирусов и бактерий, существуют ещё "прионные инфекции" - та самая "почесуха овец", она же "губчатая энцефалопатия". Возбудитель - обычный белок, но имеющий изменённую структуру. Но изменённую так, что сам факт присутствия этого белка "автокаталитическим образом" влияет на синтез аналогичного "естественного" белка так, что естественный белок получается точно так же измененным. Далее по нарастающей - и единственная попавшая в организм молекула белка "размножается", а через несколько лет значительная часть белка оказывается изменённой, и организм умирает.
     Фишка в том, что прионы оказываются "ещё менее живыми" чем вирусы. Вирусы имеют оболочку, обеспечивающую проникновение вируса в клетку. Вирусы имеют "программу" (РНК), которая начинает исполняться клеткой после проникновения. Прион же не делает вообще ничего: это просто молекула, которая околачивается рядом с рибосомой (не потому что активно приползла именно к рибосоме, а потому что броуновским движением вынесло), в результате чего то, что вылазит из рибосомы, сворачивается чуть по другому. Сама молекула ни-че-го не делает, никаких программ синтеза не содержит, просто в её присутствии изменяется поведение других частей клетки.

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

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

     ...а потом они осознают себя, и завоюют мир. Я так думаю :-)
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 22 comments