Названы 25 самых опасных ошибок программирования

image

Теги: ошибка, программирование, программист

Ошибки из Top 25 Errors поделены на три категории: небезопасное взаимодействие между компонентами (9 ошибок), рискованное управление ресурсами (9 ошибок) и дырявая защита (7 ошибок). Среди них можно встретить как классические ошибки вроде переполнения буфера, так и те, что специфичны именно для веб-программирования.

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

В заявлении руководителя проекта Top 25 Errors Боба Мартина (Bob Martin) справедливо отмечается, что метод латания дыр, которым обычно руководствуются производители ПО, не оправдывает себя. Это борьба со следствиями, в то время как гораздо эффективнее искоренять причины. В данном случае — научить программистов компьютерному "правописанию". Ведь большинство из них даже не осознают, что пишут уязвимый код.

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

Ошибки из Top 25 Errors поделены на три категории: небезопасное взаимодействие между компонентами (9 ошибок), рискованное управление ресурсами (9 ошибок) и дырявая защита (7 ошибок). Среди них можно встретить как классические ошибки вроде переполнения буфера, так и те, что специфичны именно для веб-программирования.


или введите имя

CAPTCHA
Страницы: 1  2  
фетиш-мастер [Малиновые штаны]
13-01-2009 23:05:12
а че конкретно за ошибки зассали сказать?
0 |
17431
13-01-2009 23:14:57
А ссылка в начале статьи для кого дана?
0 |
фетиш-мастер [Малиновые штаны]
14-01-2009 11:45:16
да смотрел я источник но ссылка должна быть с конкретного места в тексте, а не со сноски "источник"
0 |
копираст
14-01-2009 08:58:58
Источник смотрите внизу, и там вопросы задавайте, почему не перевели
0 |
14-01-2009 11:28:30
В опубликованном документе подробно разбирается каждый из 25 видов ошибок, приводятся примеры узявимостей и рекомендации для разработчиков по предотвращению появления подобных ошибок. Ниже краткое обобщение списка: * Небезопасное взаимодействие между компонентами, определяет проблемы, вызванные небезопасной отправкой или получением данных между модулями, программами, процессами, нитями или системами. o CWE-20: Некорректная проверка входящих данных, например, отсутствие проверки предотвращающей появление спецсимволов в идентификаторах; o CWE-116: Неверное кодирование или экранирование символов для выводимых данных, например, отсутствие экранирования спецсимволов перед выводом данных может привести к поражению внешнего приложения; o CWE-89: Неспособность сохранения целостной структуры SQL запроса, что может привести к подстановке злоумышленником SQL запроса (SQL Injection); o CWE-79: Неспособность сохранения структуры web-страницы, что позволяет злоумышленнику внедрить на страницу свой скрипт или html-блок (XSS, Cross-site Scripting); o CWE-78: Неспособность корректного формирования структуры запускаемого приложения, может привести к подставке кода злоумышленника при выполнении внешней команды, через определение некорректных значений, используемых в качестве параметров запускаемой программы (OS Command Injection); o CWE-319: Передача конфиденциальных данных открытым текстом или используя ненадежные методы кодирования (base64 и т.п.), в результате чего злоумышленники может перехватить параметры аутентификации; o CWE-352: Cross-Site Request Forgery (CSRF), отсутствие проверки источника запроса, что может быть использовано злоумышленником для незаметного перенаправления авторизированного пользователя для выполнения определенных скрытых действий; o CWE-362: "Эффект гонки" (Race Condition), проблемы вызванные возможностью одновременного использования одного ресурса несколькими обработчиками, отсутствием атомарных операций или ненадлежащими блокировками; o CWE-209: Утечка сведений о системе при выводе сообщения об ошибке, например, часто в сообщении об ошибке можно видеть текущие пути или имя базы, что может быть использовано злоумышленником. * Рискованное управление ресурсами, ситуации когда к проблемам приводит ненадлежащее управление созданием, использованием, передачей или уничтожением важных ресурсов системы. o CWE-119: Неспособность удержать действия в определенных жестких рамках или в пределах заданного буфера памяти, приводит к классическим уязвимостям вида выхода за допустимые границы и переполнению буфера; o CWE-642: Возможность внешнего контроля над критическими данными, например, восприятие важных данных из областей, куда атакующий имеет доступ (cookie, переменные окружения, скрытые параметры web-форм и т.п.); o CWE-73: Возможность внешнего переопределения путей или имен файлов, например, когда в качестве имени файла используется какой-то передаваемый параметр, используя "../" в котором можно выйти за пределы текущей директории; o CWE-426: Излишнее доверия к стандартным путям, например, выполняя стандартную внешнюю программу без полного задания пути, при изменении значения переменной PATH, в результате может быть выполнена программа злоумышленника; o CWE-94: Проблемы, вызванные динамической генерацией кода (Code Injection), например, вызов созданного на лету кода через eval/include в скриптовых языках; o CWE-494: Загрузка исполняемого кода без проверки его целостности через сверку цифровой подписи, например, в результате взлома сайта или подстановки неверной информации в DNS, злоумышленник может изменить содержимое пакета с программой; o CWE-404: Некорректное выделение или освобождение ресурсов, может привести к утечкам памяти, обращению к уже освобожденным областям, двойному освобождению областей памяти и т.п.; o CWE-665: Некорректная инициализация значений переменных и структур данных, например, в некоторых переменных могут остаться параметры предыдущей сессии; o CWE-682: Некорректные вычисления, не учитывающие размерность используемого типа данных. Может привести к некорректному расчету размера буфера, делению на ноль, целочисленному переполнению, получению отрицательных значений там, где они не ожидаются. * Ненадежная защита, некорректное использование, игнорирование или злоупотребление средствами защиты. o CWE-285: Некорректный контроль доступа (авторизации); o CWE-327: Использование ненадежных или рискованных криптографических алгоритмов; o CWE-259: Задание базового пароля прямо в коде скрипта или в общедоступных файлах конфигурации; o CWE-732: Небезопасное назначение прав доступа к критически важным ресурсам, например, возможность чтения или изменения другим пользователем конфигурационных или служебных файлов; o CWE-330: Использование предсказуемых случайных значений; o CWE-250: Выполнение кода с повышенными привилегиями, без которых можно обойтись , которые можно сбросить или вынести в виде отдельного модуля; o CWE-602: Обеспечение безопасности сервера на стороне клиента. http://www.opennet.ru/opennews/art.shtml?num=19763
0 |
SolarS
13-01-2009 23:18:09
Названы 25 самых опасных ошибок программирования З.Ы. хех а причин то всего пару штук 1.кривый руки 2.индуский код *который чтобы разобрать и ОСИЛИТЬ надо вагон травы скурить*
0 |
66415
14-01-2009 02:48:26
причем не обычной травы, а индусской травы!
0 |
фетиш-мастер [Малиновые штаны]
14-01-2009 11:47:24
причина - одна. плохое руководство.
0 |
Аноним
14-01-2009 23:03:15
хех а причин то всего пару штук... Типичная реакция немытого, просмердевшегося табакой, завшивленного пивного бочонка, никак не уразумеющего почему он такой гени(т)альный нах никому не нужон.
0 |
56-56
13-01-2009 23:51:50
Единственная ошибка - в ДНК!
0 |
33473
14-01-2009 02:50:15
у тебя.
0 |
56-56
14-01-2009 03:40:50
Ты еще и примитивный юмор не понимаешь. Тогда у тебя уже 2 ошибки в ДНК
0 |
43818
14-01-2009 06:04:31
мой ДНК идеален!
0 |
Олбанский Лефф
14-01-2009 09:59:29
Здравствуй Мила Йобович! Мы знаем, что ты Само Совершенство с Идеальным ДНК! Пятый элемент как ни как! ...или 5-я ошибка панорамирования?
0 |
26 ашибка
14-01-2009 00:41:02
Ведь большинство из них даже не осознают, что пишут уязвимый код.в большинстве своем они даже не осознают что вообще пишут код
0 |
xXx
14-01-2009 02:13:17
молодцы спецы) давно надо было граммотно классифицировать ошибки и предложить средства их устранения. 55575
0 |
18331
14-01-2009 02:52:26
если давно надо было, то почему не классифицировал и не предложил? языком трепать все горазды.
0 |
77717
14-01-2009 06:05:53
пойду на них понаезжаю
0 |
Страницы: 1  2