{"id":10771,"title":"\u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u0430\u043a\u0441\u0435\u043b\u0435\u0440\u0430\u0442\u043e\u0440 \u0434\u043b\u044f digital-\u0441\u0442\u0430\u0440\u0442\u0430\u043f\u043e\u0432","url":"\/redirect?component=advertising&id=10771&url=https:\/\/vc.ru\/promo\/349044-korotko-zapustit-pilot-i-poluchit-novyh-klientov-s-pwc&placeBit=1&hash=784bba4e4e7bbdd70a9f4ae7dbba83bdf662dd17da42e7eeb734d693a784bfa7","isPaidAndBannersEnabled":false}
Офтоп
GeekBrains _

Учись на чужих факапах: разбираем громкие ошибки в программировании и их решения

GeekBrains о серьезных ошибках в программировании, от которых зависят миллиардные состояния, репутация и будущее бизнесов и проектов. Чек-лист для разработчика и стартапера перед запуском нового продукта или бета-тестированием.

1. Переполнение буфера

Исторически одна из самых опасных ошибок. Именно благодаря ей на свет появились черви Морриса и Nimda. Червь Морриса, например, в какой-то момент поразил все узлы зарождающейся всемирной паутины — ARPANET — и полностью парализовал ее работу. Сумма ущерба составила почти $100 млн.

Как исправляли: создатель червя Морриса сам явился с повинной и объяснил механизм действий. Его распространение стало возможно из-за неправильного вычисления позиций записи в память. Ошибку исправили, ограничив запись данных только «пределами» буфера.

2. Незащищенный SQL-запрос

Еще одним глобальным факапом в программировании можно считать ошибку в обработке баз данных, когда ПО собирает данные пользователя и отправляет их на SQL-запрос, но не обеспечивает необходимый уровень безопасности. Благодаря этому пробелу стала возможной SQL инъекция — хакерская атака, позволяющая получить прямой доступ к базе данных. Используя простую конкатенацию SQL-команд, злоумышленники считывают базы данных, удаляют и добавляют данные, устанавливают собственные ссылки.

Известные инциденты, случавшиеся с Sony, Nokia, Heartland Payment Systems и даже сайтом Леди Гага, произошли благодаря успешным SQL-атакам, компрометирующим информацию, хранящуюся в базах данных приложения. LulzSec, одна из известных хакерских групп, сделала SQL-инъекции своим основным оружием.

Как исправляли: автоматической проверкой, фильтрацией входных параметров — чисел, строк, дат, данных в специальных форматах; настройкой второго уровня защиты — определения признаков, характерных для работы хакерских утилит типа Sqlmap; созданием и регулярным пополнением черного списка хостов, с которых проводились SQL-инъекции.

3. Переполнение стека памяти

В 2014 году мировому ИТ-сообществу была представлена ошибка под названием Heartbleed, возникающая в библиотеке OpenSSL протокола TLS. Данный баг, вызванный переполнением стека памяти, позволяет практически любому человеку, подключённому к интернету, считать пользовательскую информацию объёмом до 64 кБ с компьютера с запущенным процессом OpenSSL. По приведённым в отчёте данным, около 17% всех защищенных сайтов использовали данный протокол и, как следствие, имели уязвимость Heartbleed.

Как исправляли: в итоге исправлениями всерьез занялись только Windows и Mozilla, а Google отделался лишь оперативным выпуском патча. Таким образом, где-то в интернете до сих пор бродит баг Heartbleed, злоумышленники до сих пор с его помощью извлекают личные данные, а ущербы от их действий продолжают расти.

4. Описка в коде из-за схожести символов

В отличие от остальных пунктов нашего обзора, эта ошибка не носит системный характер, а просто имеет место быть из-за пресловутого человеческого фактора и случается как с новичками, так и с профессионалами. По сути, от нее никто не застрахован.

Она заключается в том, что программист при составлении кода может допустить «грамматическую» ошибку, то есть, попросту говоря, перепутать символы. Самым ярким примером такой ошибки служит знаменитый факап с запуском к Венере аппарата «Маринер-1» стоимостью $18,5 млн, который взорвался спустя несколько минут после взлета. В случившемся принято винить специалиста, который при программировании аппарата вместо верхнего подчеркивания ввел дефис, что и привело к глобальному сбою системы.

Как исправляли: перед полетом аппарата «Маринер-2» были много раз скрупулезно проверены все коды, используемые при запуске ракеты. Мораль: даже если речь не идет о подобного рода масштабных проектах, где сбой в коде может привести к непредсказуемым последствиям, а запускаете вы «всего лишь» какой-нибудь приятный интернет-сервис — все равно проверьте код еще раз.

5. Инъекции команд ОС

Некоторое ПО используют встроенные команды операционной системы, например, для извлечения данных компьютера или запуска приложения. В этом случае здесь может возникнуть схожая ошибка — инъекции команд вашей ОС.

Так всего месяц назад самый популярный Linux для бизнеса был атакован через Twitter. Ошибка в DHCP-клиенте Red Hat Enterprise Linux позволяет выполнять произвольные команды на атакуемых машинах с правами «суперпользователя». Пробный эксплойт для бага уже существует и активно распространяется через Twitter.

Как исправляли: выпустили экстренные обновления, позволяющие проводить проверку данных.

6. Рискованные алгоритмы

При работе с персональными данными необходимо надёжно их защищать. Не стоит полагаться на собственные силы, ведь в мире существует множество готового ПО и алгоритмов, которые работают куда лучше вашего неопытного мозга. Впрочем, даже к их использованию надо подходить с умом. Так алгоритм хэширования SHA-1 устарел и легко взламывается современными хакерами.

В 2016 году был взломан Dropbox. В ходе взлома хакеры получили данные более 68 млн. пользователей. Больше половины украденных паролей были хешированы алгоритмом SHA-1.

Как исправить: стоит отдать предпочтение SHA-2 или SHA-3. В противном случае, вы рискуете не только репутацией своего ПО, но и вполне осязаемыми деньгами.

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

0
19 комментариев
Популярные
По порядку
Написать комментарий...
Данил Василевский

"Известные инциденты, случавшиеся с Sony, Nokia, Heartland Payment Systems и ДАЖЕ С САЙТОМ Леди Гага..."
Вот от Гаги такого не ожидал, это ж самый технологичный сайт в мире, не то, что всякие Sony, Nokia и т.д.

Ответить
18
Развернуть ветку
Денис Файзулин

Круче Гаги только Тейлор Свифт

Ответить
2
Развернуть ветку
Скрытый американец

Комментарий удален по просьбе пользователя

Ответить
2
Развернуть ветку
Ivan Litvinov

Покажите хоть как выглядит это "верхнее подчеркивание"

Ответить
10
Развернуть ветку
Данил Василевский

В целях цензуры пропустил кое-чё

Ответить
1
Развернуть ветку
Максим Чистов

Хай?

Ответить
0
Развернуть ветку
Bela Lugosi's Dead

Заодно бесят люди, которые пишут "нижнее подчеркивание" (как будто оно бывает каким-то, кроме нижнего)

Ответить
1
Развернуть ветку
Nikita Zubkov

Писал человек явно далекий от "этих ваших программирований". Не стыдно такое выкладывать образовательному IT-порталу, на котором обучают "ведущие IT-специалисты"? Почти каждое предложение в этом опусе содержит или ошибку, или неточность.

Ответить
11
Развернуть ветку
Гала Перидоловна

Эти советы достойны только адме. Большинство описанных пунктов настолько разнообразны, что рассказ о них разрастется на публикацию в сотни статей. И нет самого главного - описания что такое санитайзеры и фаззеры. Понятно, что гикбрейнс пытается привлечь новых людей для обучение, но после таких постов я бы сильно задумался о квалификации обучающего персонала.

Ответить
7
Развернуть ветку
Евгений Пронягин

по мне так эта статья больше для хабра, чем для vc

Ответить
3
Развернуть ветку
Бригадир Телепатов

На хабре за такую статью порвали бы в клочья: "верхнее подчёркивание", "исправлениями всерьез занялись только Windows и Mozilla, а Google отделался лишь оперативным выпуском патча" — это, может, для "предпринимателей нового поколения" и потянет, а на хабре не простили бы.

Ответить
3
Развернуть ветку
Алексей Андрианов

vc в хабр превращается

Ответить
1
Развернуть ветку
Константин Григорьев

Надо бы свою статью написать, как минимум про очистку токенов действий и недоверие к данным с фронтенда.

Ответить
2
Развернуть ветку
Кирилл Шнуров

"компьютера с запущенным процессом OpenSSL"

Статью явно писала журналистка для домохозяек. На Хабре бы за такое забанили навечно.

Ответить
2
Развернуть ветку
Anton Smets

Так что они блоки кода не тестировали, перед тем как на Венеру аппарат пускать?

Ответить
1
Развернуть ветку
Леонид Федотов

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

Ответить
0
Развернуть ветку
Angel Vivaldi

Да ладно вам, какой сеньор себе с ногу не стрелял?

Ответить
0
Развернуть ветку
Alexander Shakun

Кто себе в ногу не стрелял, тот не сеньор!

Ответить
2
Развернуть ветку

Комментарий удален

Развернуть ветку

Комментарий удален

Развернуть ветку
Владимир Киреев

Heartbleed с переполнением стека никак не связан.

алгоритм хэширования SHA-1 устарел и легко взламывается современными хакерами
Успешная атака (shattered) оценивается в ~$110000 по ресурсам на GPU и 1 год по времени

Ответить
0
Развернуть ветку
Читать все 19 комментариев
Переход в облако только начинается, а прогнозы о будущем метавселенных могут не сбыться: тренды до 2030 года Статьи редакции

Аналитик и бывший партнёр фонда Andreessen Horowitz Бенедикт Эванс считает, что даже если технологии становятся лучше, это не значит, что им удастся заменить старые и привычные — они могут просто занять свою нишу на рынке.

«Азбука вкуса» завоевала серебро и бронзу на международном конкурсе дизайна World Brand Design Society Awards

Проекты инхаус дизайн-студии «Азбуки вкуса» — упаковка Мосальского стейка и редизайн упаковки СТМ «Азбука вкуса» — получили серебряную и бронзовую награды в двух номинациях: Дизайн упаковки и Редизайн упаковки.

«Яндекс» купит технологическую платформу рекламного сервиса eLama Статьи редакции

Платформа сохранит название и продолжит развиваться под брендом eLama.

Как Counter Strike сделал меня веб-разработчиком и как я открыл свою веб-студию

Я, как и многие подростки, начинал свой путь с компьютерных игр, вернее с видеоигр, тогда еще компьютеры не были настолько популярными. Да, я про те времена, когда мы зависали, играя в приставку SEGA и у нас горели блоки питания от перегрева, кто в теме, тот поймет =)

«Альфа-банк»: звонки от фейковой «службы безопасности банка»

После оформления заявки на кредит на официальном сайте АльфаБанка, начали поступить звонки от мошенников

9 soft skills, которые точно пригодятся в 2022. Часть 2

Продолжаем говорить об актуальных soft skills от сооснователя digital-агентства The Architect Саши Сучкова. Сегодня разбираемся, что такое эмоциональный интеллект, как работать со стрессом и что нужно делать, чтобы оставаться гибким в любой ситуации.

Avito доставка. Покупатель не принимал товар, но вернувшись обратно- был выдан неизвестному лицу

Доброго времени дня. Вот и у меня произошла неприятная ситуация с Авито и Boxberry: вернувшийся мне товар в виде видеокарты GTX1070 стоимостью 35.000 руб. был вручен постороннему человеку без проверки документов.

Узнай, как мы делаем бизнес

Команда Southbridge и Слёрм запускает серию бесплатных вебинаров «Как делается бизнес», которые помогут руководителям проектов, директорам выйти за стандартные рамки управления и эффективно развивать компанию.

Копировать мир и стать посредником всех услуг: как Meta может монетизировать метавселенную Статьи редакции

Financial Times проанализировало патенты, которые зарегистрировала компания — они не означают, что Meta создаст технологию, но дают представление о примерном развитии метавселенной.

Digital Horizon спрогнозировала развитие финтеха в 2022 году

Инвесткомпания, которая создала криптосервис, недавно проданный Тинькофф Групп, рассказала, как мы будем платить внутри метавселенных, что придет на смену big data, почему миру нужна тотальная токенизация и какую роль играют финтехи в реализации ESG-повестки.

Люди на вырост: как it-компании получить новых сотрудников с нужными компетенциями

Чем занимаются стажеры «Ситимобила» — рассказывает (теперь уже) штатная сотрудница компании.

null