Внимание данной темы приобретает всё большее значение в развитом обществе с растущей зависимостью от автоматизированных технических средств.
Уязвимость – недостаток, слабое место машины или системы в интернете. В КБ «уязвимость» обозначает недостаток системы, воспользовавшись которым преступник может умышленно нанести вред ей. Часть уязвимостей обуславливаются только теоретически, другая часть имеет активное использование (со своими эксплойтами). В совершенствовании системы известно немало видов уязвимостей, таких как: SQL-инъекция (взлом системы, работающей с базами данных; основана на внедрении произвольного SQL-кода), E-mail инъекция (атака, используемая для эксплуатации почтовых серверов), Shatter Attack (основывается на системе передачи сообщений, позволяя одной программе внедрить код в другую, работающую между «безопасными» процессами одного сеанса в ОС Microsoft Windows), Buffer Overflow (возникает при записывании данных программой за пределами места выделенного в буфере). Большинство систем проверяются на данные слабости, для предотвращения использования их злоумышленниками.
Но помимо известных уязвимостей существует и слабости «Нулевого дня» (0day). Это не устраненные слабости и вредоносные программы, против которых не разработаны защитные меры. В данное время вирусописатели фокусируются на поиске данных уязвимостей. Для установления слабостей системы, вирусописатели используют несколько техник: Fuzz-тестирование (суть заключается в проверке системы на «стресс», а именно дать программе своего рода большой объем информации с неверными параметрами), Реверс-инжиниринг и поиск ошибок в алгоритме работы ПО. После обнаружения проблем функционирования, начинается процесс формирования кода, использующую обнаруженную слабость.
Одной из известных вредоносных программ, использующих 0day является червь Stuxnet, обнаруженный в 2010 году (обнаружил Сергей Улосень). Он ранее использовал известную слабость семейства ОС Windows, а также помимо нулевого дня червь эксплуатировал еще несколько уязвимостей. Это один из первых обнаруженных червей, перехватывающих и преобразуя информационные потоки между программируемыми контроллерами и рабочими станциями SCAD-системы. Распространение возможно даже через USB-flash накопителей.
Также под определения 0day попадают вредоносные программы, неопределяемые антивирусными сканерами. Скрытность работы достигается за счет шифрования кода или прочих применения методов вирусописателями.
В контексте КБ во внимания принимаются функциональные программные возможности, используя которые есть шанс нарушения правильности работы ПО, а также конфиденциальность и целостность информации. Для подобных возможностей, стандарты информационной безопасности вводят термин – недекларированные возможности.
В сообществе КБ предметом спора является информирование об уязвимостях. Одна часть настаивает на немедленном раскрытие всех слабостей систем при их обнаружении. Другая часть советует сообщать об уязвимостях только тем, кто больше всего подвергается риску, а всю информацию обнародовать с задержкой или не публиковать вообще. Такое несвоевременное декларирование предоставляет возможность исправить ошибки вовремя, но также увеличивает риск для тех, кто не информирован о слабости системы.
Со стороны может показаться, что поиск уязвимостей – это «не так уж важно», «меня не затронет», «а мне то что с этого?». Но что же на самом деле? Что бы понять сущность данного вопроса, просто нужно взглянуть на статистику кибер-атак 2016 года:
Компания Yahoo призналась, что в 2013 году были украдены данные свыше 500 млн. ее пользователей (подробнее coms.info).
Атаки против американского DNS-провайдера Dyn, отключили ряд веб-сайтов (таких как Amazon, Twitter, TNY Times) (подробнее coms.info).
В Гундреммиге (Бавария) была остановлена работа АЭС после обнаружения в IT-системах компьютерного вируса (подробнее kursiv.kz).
Банк России «Сбербанк» опубликовал информацию о 74 кибер-атаках (подробнее izvestia.ru).
Просмотрев даже эту небольшую статистику можно сказать, что от уязвимостей можно и нужно защищаться.
Уязвимости были обнаружены в разных операционных системах (включая Mas OS, Microsoft Windows и разные варианты UNIX и OpenVMS).
Для стабильного функционирования и целостности системы за ней необходимо постоянно следить (устанавливать обновления и использовать системы, противодействующие возможным атакам). В качестве сохранения информации (конфиденциальности, целостности, доступности) необходимо раз в 3-4 месяца обновлять данные авторизации.
С развитием систем – развиваются возможности их «вскрытия». Нет не одной безопасной системы. Так как уязвимости находятся постоянно, то путями уменьшения вероятности их использования является: владение официальными ПО, постоянные обновления ПО и обычная бдительность пользователя (при считывании внешних носителей проверять их на наличие вирусов, отдельное внимание уделять архивированным файлам, защищать свои носители от посторонней записи, делать копии ценной информации).