Защищаем флешки от вирусов Windows

Как известно вирусов для macos практически не существует – но в системе мелкомягких положение как раз обратное. Для защиты от вирусов ставятся антивирусы, делаются проверки всего компьютера, ставятся антивирусы на шлюзы и так далее (причем бывает доходит до полной переустановки системы). Один из популярных способов распространения вирусов – перенос на флешке и запуск из авторана (autorun.inf).

Дабы избежать данной проблемы и обезопасить флешку была написана интересная инструкция которую можно найти здесь. Инструкция позволяет из системы macos обезопасить флешку (которая форматирована под fat32) от дальнейшего заражения на windows машинах. привожу ее практически дословно.

Есть очень простой способ сбить с толку autorun-вирусы: необходимо на сменном носителе создать каталог с таким именем. Проблема в том, что вирусопейсатели тоже не сидят на месте и новые разновидности заразы данный каталог умеют удалять. Решение? Легче легкого! Вспомним врожденные ограничения ОС Windows, а именно невозможность работать с некоторыми именами файлов, например “con”. Эта особенность знакома всем, кто застал командную строку MS-DOS. Linux и MacOS подобной рефлексией не страдают и этим можно воспользоваться.

Итоговый алгоритм таков:
1) Удалить с USB-накопителя файл “autorun.inf”
2) Создать папку “AUTORUN.INF” и поместить в нее файл с именем “con”

Ни Windows, ни вирусы такой каталог удалить не смогут. Задача решена. Однако руками это делать, разумеется, не стоит. Машина должна работать, а человек думать.

Автоматизируем процесс средствами Bash и AppleScript:
Создаем в /usr/local/bin sh-скрипт с именем myUnvir.sh:

#!/bin/sh

FULLPATH=$(echo $1 |sed -e 's/\/$//')
FSTYPE=$(mount | grep ${FULLPATH} | sed -e 's/.*(//' |sed -e 's/, .*//')

if [ ${FSTYPE}x != 'x' ] ; then
    if [ $FSTYPE = 'msdos' ] ; then
        if [ -d $FULLPATH ] ; then
	    rm -rf ${FULLPATH}/AUTORUN.INF
	    rm -rf ${FULLPATH}/autorun.inf
	    mkdir ${FULLPATH}/AUTORUN.INF
	    touch ${FULLPATH}/AUTORUN.INF/con
	fi
    fi
fi

Создаем в /Library/Scripts/Folder Action Scripts/ applescript с названием antivirus (или любым другим) следующего содержания:

on adding folder items to target_folder after receiving added_items
	repeat with added_item in added_items
		set thefullpath to POSIX path of added_item
		do shell script "/usr/local/bin/myUnvir.sh " & thefullpath
	end repeat
	quit application "System Events"
end adding folder items to

Вешаем этот скрипт на директорию /Volumes:
Запускаем /Library/Scripts/Folder Actions/Attach Script to Folder.scpt
Выбираем в меню наш antivirus.scpt и в следующем диалоговом окне нажимаем cmd-shift-g, в открывшейся строке пишем /Volumes

Еще раз выражаю благодарность тем людям которые написали эту статью.