Кровавое сердце, или две стороны медали Open Source
С недавнего времени все приближенные к миру ИТ говорят об уязвимости в протоколе OpenSSL, которая получила название HeartBleed. Об этом уже было немало сказано и написано. Но хочется еще раз поднять эту тему и поговорить на простом языке о целесообразности использования Open Source продуктов.
HeartBleed, ты кто такой?
Словом «heartbleed» называют обнаруженную уязвимость в пакете OpenSSL, который является открытой реализацией криптографического протокола. Такое, на первый взгляд, устрашающее название ошибка получила неспроста: она была найдена в пакете Heartbeat, отвечающем за обнаружение сбоев. Уязвимость предоставляла возможность хакерам получать доступ к любому содержимому, находящемуся в оперативной памяти серверов. Это касается и серверов с приватными данными пользователей разнообразных интернет-сервисов. Результаты исследований компании Netcraft показали, что действию HeartBleed могли подвергаться около полумиллиона сайтов! Это немало, согласитесь. То есть на таких сайтах могли попросту под угрозой оказаться пароли, логины, номера кредитных карт и другие личные данные пользователей. В том числе открывались для злоумышленников цифровые ключи, которые используются для шифрования переписок, а также всевозможной внутренней документации в корпоративном общении с помощью сети Интернет.
OpenSSL – что, где и как?
Название протокола SSL расшифровывается как Secure Sockets Layer, то есть речь идет об уровне защищенных сокетов. Этот протокол имеет еще одно название — TLS, что расшифровывается как Transport Layer Security. Сегодня SSL/TLS является одним из самых употребляемых методов, использующихся для шифрования сетевых данных. Он может защитить ваш серфинг по Интернету от нежелательного стороннего «подглядывания». Важно отметить, что комбинация букв «https», находящаяся в начале адреса ссылки, свидетельствует о том, что обмен данными между используемым вами браузером и сайтом, который в нем открыт, происходит с использованием протокола SSL. В других случаях адрес ссылки начинается с комбинации «http».
Теперь несколько слов об OpenSSL. Это реализованный протокол SSL, имеющий открытый исходный код. Уязвимыми оказались его версии, начиная с 1.0.1 и до 1.0.1f. OpenSSL получил широчайшее применение в Интернете, в том числе в веб-серверах и веб-клиентах (браузерах — Google Chrome/Chromium, Firefox, Mozilla, luakit, jumanji; мессенджерах и т. д.).
Баг — ба-бах!
Уязвимость OpenSSL была обнаружена Нилом Мета (Neel Mehta), который является сотрудником компании Codenomicon, занимающейся безопасностью в компьютерной сфере, и штатным исследователем Google. Но само название придумала системный администратор Codenomicon — Осси Геррала (Ossi Harrala). Согласитесь, оно намного благозвучней, чем «родное» название CVE-2014-0160, которое изначально было дано по порядковому номеру строчки кода, в котором обнаружили баг. Новое имя прижилось, оно стало эффективным для ускорения процесса уведомления множества пользователей Интернета об уязвимости.
Принцип действия HeartBleed довольно прост: наличие бага дает возможность хакеру получать доступы к 64 КБ серверной памяти, осуществляя вновь и вновь атаки, которые в конечном итоге приводят к абсолютной потере данных. Речь идет о паролях, логинах и даже cookie, используемых веб-серверами для упрощения взаимодействия с пользователями.
Методы защиты
Для того, чтобы уберечь себя от HeartBleed уязвимости, следуйте нескольким простым советам:
- Обратитесь в техническую поддержку интернет-сервисов, на которых у вас есть открытые активные аккаунты с ценной информацией (особенно это касается e-mail и систем интернет-банкинга).
- Поинтересуйтесь, насколько высока вероятность уязвимости этих ресурсов.
- Если работники техподдержки сообщили о вероятности уязвимости, обязательно поменяйте пароль к аккаунту.
- Все операции, которые проводите с помощью онлайн-банкинга, тщательно отслеживайте на предмет появления любой подозрительной активности.
- В случае использования браузера Google Chrome сделайте активной настройку под названием «Проверять, не отозван ли сертификат сервера». Так вы сможете систематически получать информацию о сертификате сайта в веб-браузере. По умолчанию эта опция в Google Chrome не активна.
Непременно полезными станут для вас сервисы, с помощью которых можно протестировать сайт на наличие уязвимости:
- filippo.io/Heartbleed;
- www.ssllabs.com/ssltest;
- rehmann.co/projects/heartbeat;
- possible.lv/tools/hb.
Казнить нельзя помиловать
Очень много юзеров считает, что разработчики ПО чем-то им обязаны. Даже при том, что не так уж мало программных продуктов пользователи получают совершенно бесплатно. На тех, кто обеспечивает поддержку проектного кода для OpenSSL, обрушалось много обвинений и жалоб, связанных с качеством написания исходного кода. И это при том, что разработчики БЕСПЛАТНО годами проводили важные работы. Этим стандартом пользуется весь мир (!), а программеры практически ничего на нем не зарабатывают. Они выделяли свое свободное время на разработку и совершенствование кода, создавая библиотеку, которая давала возможность защищать данные и проводить шифрование передаваемых сообщений.
До недавнего времени было убеждение среди разработчиков, что «открытый» код никогда не превзойдет проприетарный. Но это свершилось! В последнем отчете 2013 Coverity Scan Open Source Report было проанализировано 741 проект на Open Source C/C++, состоящий из 750 миллионов строк кода. Исследование показало, что впервые качество «открытого» кода на С/С++ превзошло качество проприетарного:
Поскольку поддержка проектов Open Source — это важный вопрос в наше время, Linux Foundation создал фонд Core Infrastructure Initiative. Главная его задача — оказывать поддержку «открытого» программного обеспечения, которое влияет на адекватное функционирование всемирной информационной инфраструктуры. Создание фонда стало реакцией на обнаружение уязвимости HeartBleed.
Послесловие
Давайте будем благодарны тем, кто, жертвуя своими свободным временем и порой финансами, создает ПО совершенно бесплатно для юзеров со всего мира. Поддержать мейнтейнера для стимулирования его желания продолжать работать над разработкой и совершенствованием Open Source проектов может любой желающий разработчик программного обеспечения.
- «Черная книга менеджера» — сурово, принципиально и доступно «
- Как email-рассылка помогает удержать клиента »