2014 год войдет в анналы истории кибербезопасности двумя исполинскими уязвимостями в широко используемом программном обеспечении, обнаруженными всего за полгода — или того даже меньше.
У этих багов много общего: оба они найдены в широко (или глобально) используемом программном обеспечении с открытым исходным кодом, и как будто этого было еще мало, оба они довольно легко эксплуатируются (хотя оценки реального ущерба разнятся). И Heartbleed, и Shellshock вызвали панику планетарного масштаба, что неудивительно. Кстати, это, пожалуй, первый случай, когда программные изъяны получили собственные имена.
Так что хорошего в обнаружении «больших» багов? #security
Tweet
Дальнейшие открытия?
Так что же дальше? Сразу после открытия Heartbleed некоторые эксперты утверждали, что предстоят еще «крупные» находки. Shellshock, обнаруженный в прошлом месяце, доказал их правоту. Логично предположить, что в ближайшие месяцы мы наткнемся на нечто столь же «огромное».
Несмотря на все волнения, которые они могут вызвать, открытие таких уязвимостей — дело действительно хорошее.
Хорошее дело
Да, поначалу это выглядит настоящим бедствием. Эксперты по безопасности бьют тревогу, владельцы компаний вызывают своих ИТ-специалистов на ковер, чтобы потребовать проверки и оперативного внесения исправлений, а администраторы скрежещут зубами, потому что уже пятница, полседьмого вечера, но подчиняются, потому что, если не сделать все необходимое, может разразиться катастрофа.
На самом деле это еще оптимистичный сценарий. Наихудший и самый частый случай — это когда, несмотря на все тревожные звонки, владелец бизнеса просто отмахивается от новости. Исправления вносят через месяцы, в лучшем случае. Админы любят говорить: «Работает — не трогайте», поэтому все обновления устанавливаются только в случае крайней необходимости. Вопрос о том, насколько серьезную необходимость порождает новый большой и плохой баг, как правило, является предметом дискуссии.
Чем больше таких серьезных изъянов выявят, тем больше мы увидим оптимистичных сценариев: чем больше шума вокруг этих багов, тем больше внимания (и настороженности) они привлекут.
В продолжение разговора о Heartbleed и Shellshockнеобходимо отметить, что оба были обнаружены и обнародованы официальными экспертами по безопасности. Только представьте, что было бы, если бы вместо них оказались плохие парни.
Ревизия кода
И еще одна вещь, тесно связанная с открытым исходным кодом. Это чуть ли не позор, что Heartbleed и Shellshockнайдены в пакетах с открытым исходным кодом. Сторонники свободного ПО часто заявляют, что открытость программного обеспечения обеспечивает ему дополнительную безопасность, так как каждый человек, способный читать код, может просмотреть его и найти ошибки, если они там есть.
К сожалению, это ничего не гарантирует. Heartbleed был введен в 2012 году и избегал всех проверок в течение двух лет. Shellshock присутствовал в оболочке BourneAgain, по-видимому, с 1992 года, то есть на протяжении 22 лет, и опять же никто его не находил до самого недавнего времени.
Возможность просмотра открытого кода еще не означает, что такой анализ на самом деле осуществляется, равно, как и не гарантирует, что это делается успешно.
По словам Роберта Грэма, код самого Bash является «шокирующе устаревшим«: «У нас есть современные объективные стандарты относительно качества кода, и Bash им не соответствует».
После Грэм уже переходит к критике стиля кодирования Bash и, по-видимому, не зря. Это плохо написанный код, который порой очень затрудняет работу по его ревизии, что подрывает уверенность в его надежной работе. Это проблема не только Bash, зато, по крайней мере, она объясняет, почему Shellshockтак долго не удавалось обнаружить.
Последствия для бизнеса
С учетом сказанного выше, каковы последствия для предприятий и их ИТ-специалистов?
Прежде всего, речь идет о готовности. Лучший сценарий должен стать рутинной. Нашли баг? Прибейте его, как только мухобойку выложат на сайте разработчика программного обеспечения, и не ждите, пока ваш дом не станет ими кишеть. Причем, скорее всего, кишеть ими будет уже не только ваш дом (сервер вашей компании). Уязвимость Shellshockбыла немедленно использована в целях создания большого и жирного ботнета для DDoS и брутфорса. Кого его владельцы выберут в качестве следующей мишени? Никто не гарантирует, что это будете не вы.
Нашли баг? Прибейте его сразу; мухобойка — на сайте вендора ПО #security
Tweet
Кроме того, внешняя проверка кода открытых программных пакетов, используемых в инфраструктуре компании, может сослужить вам добрую службу. На это понадобятся средства, конечно, но успешный взлом обойдется куда дороже.