7 Августа, 2015

Не обеспечивающее безопасность программное обеспечение

Алексей Комаров

Причин, по которым в современном программном обеспечении находили, находят и продолжат находить уязвимости, мягко говоря, чуть более одной.

Можно назвать сложность самого программного обеспечения и средств разработки, дороговизну организации процесса безопасной разработки (не все ведь могут понять и принять тот факт, что стоимость исправления ошибки позднее может стоить дороже), ограниченные человеческие и временные ресурсы (конкуренты не будут ждать, пока разработанная новая версия пройдёт полный цикл тестирования) и т.п.

В любом случае, ошибки при разработке совершаются всеми, нет ничего абсолютно защищённого, при этом для выявления/недопущения ошибок при разработке нужно потратить значительные силы, а злоумышленнику для успешной атаки бывает достаточно одной единственной незамеченной ошибки.

Вообще, программное обеспечение, предназначенное для обработки информации, в случае даже самой критической уязвимости позволит злоумышленнику нарушить, собственно, только конфиденциальность, целостность или доступность самой обрабатываемой информации, но ПО уже давно управляет реальными физическими объектами и число и разновидность такихPобъектов продолжает расти.

Повсеместный переход от электронного управления к цифровому (вытеснение датчиков и простых контроллеров более умными устройствами) порождает всё новые и новые класс «смарт-» устройств. Смартфонами, умными телевизорами и умными домами сегодня уже никого не удивишь. При этом усложняется и унифицируется встроенное программное обеспечение этих устройств (прошивки), что создаёт предпосылки к повышению вероятности нахождения новых уязвимостей — ошибиться легче, а универсальное ПО за счёт его популярности привлекает большее число исследователей, не все из которых имеют мирные намерения.

Собственно, модифицированные прошивки тех же сотовых телефонов были широко распространены среди энтузиастов ещё во времена величия Сименс, Нокиа и прочих Сони Эриксон, а через сервисный разъём автомобилей с помощью соответствующих инструментов можно было не только проводить диагностику, но и выставлять нештатные параметры работы ( чип-тюнинг ) ВАЗовских девяток со момента появления у них инжекторных двигателей.

Инженерные меню, изменённые характеристики двигателя, наконец, джейлбрейк и рутинг сами по себе не обязательно плохи — со своим устройством каждый развлекается так, как считает нужным, а посторонним при отсутствии доверия никто такое делать не позволит.

Действительно серьёзные проблемы начались тогда, когда в устройствах стали появляться беспроводные каналы связи, а затем они и вовсе стали подключаться к глобальной сети интернет. Теперь уже не только не нужно подключать провода к автомобилю, чтобы получить над ним контроль, но и вообще можно находиться от него за несколько тысяч километров. Недавние нашумевшие взломы (см. ссылки по теме ниже) наглядное тому подтверждение.

В результате всей этой шумихи ответственные производители начнут уделять безопасности большее внимание, а безответственные продолжат подвергать рядовых пользователей риску, пока регуляторы не обяжут их выполнять дополнительные требования (в США, например, уже началась дискуссия на эту тему). Но и тогда не факт, что выполнение этих требований не сведётся к простому формализму.

Мне же, как потребителю, во-первых, хотелось бы самому решать, какое устройство и с какой целью может устанавливать беспроводные соединения (механический рычажок с полным отключением всех таких интерфейсов тоже был бы очень кстати), а во-вторых, в таких средствах повышенной опасности как, например, автомобиль желательно было бы иметь два раздельных контура управления — один для мультимедийной и других некритичных систем, а второй, с физической невозможностью подключения через сеть Интернет, для тех систем, от которых может зависеть жизнь водителя и пассажиров (как тут не вспомнить идею «воздушного зазора» при обеспечении безопасности АСУ ТП ?).

Боюсь только, что при дальнейшей разработке умных автомобилей в погоне за прибылью и удобством для пользователя безопасность опять будет принесена в жертву. Приятные исключения в вопросе выбора правильного баланса между безопасностью и удобством редко, но всё же случаются , может и среди автогигантов найдётся кто-то с похожим подходом? Ну, или будем ждать автомобиль от Apple, рано или поздно сделают же они его =)

Ссылки по теме: