The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

13.01.2009 15:21  25 самых опасных ошибок при создании программ

Институт SANS (SysAdmin, Audit, Network, Security), совместно с организацией MITRE и ведущими экспертами по компьютерной безопасности, подготовил рейтинг 25 самых опасных ошибок, приводящих к возникновению серьезных уязвимостей. Ошибки были отобраны с учетом их распространенности, трудоемкости обнаружения и простоты эксплуатации уязвимости.

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

  • Небезопасное взаимодействие между компонентами, определяет проблемы, вызванные небезопасной отправкой или получением данных между модулями, программами, процессами, нитями или системами.
    • CWE-20: Некорректная проверка входящих данных, например, отсутствие проверки предотвращающей появление спецсимволов в идентификаторах;
    • CWE-116: Неверное кодирование или экранирование символов для выводимых данных, например, отсутствие экранирования спецсимволов перед выводом данных может привести к поражению внешнего приложения;
    • CWE-89: Неспособность сохранения целостной структуры SQL запроса, что может привести к подстановке злоумышленником SQL запроса (SQL Injection);
    • CWE-79: Неспособность сохранения структуры web-страницы, что позволяет злоумышленнику внедрить на страницу свой скрипт или html-блок (XSS, Cross-site Scripting);
    • CWE-78: Неспособность корректного формирования структуры запускаемого приложения, может привести к подставке кода злоумышленника при выполнении внешней команды, через определение некорректных значений, используемых в качестве параметров запускаемой программы (OS Command Injection);
    • CWE-319: Передача конфиденциальных данных открытым текстом или используя ненадежные методы кодирования (base64 и т.п.), в результате чего злоумышленники может перехватить параметры аутентификации;
    • CWE-352: Cross-Site Request Forgery (CSRF), отсутствие проверки источника запроса, что может быть использовано злоумышленником для незаметного перенаправления авторизированного пользователя для выполнения определенных скрытых действий;
    • CWE-362: "Эффект гонки" (Race Condition), проблемы вызванные возможностью одновременного использования одного ресурса несколькими обработчиками, отсутствием атомарных операций или ненадлежащими блокировками;
    • CWE-209: Утечка сведений о системе при выводе сообщения об ошибке, например, часто в сообщении об ошибке можно видеть текущие пути или имя базы, что может быть использовано злоумышленником.
  • Рискованное управление ресурсами, ситуации когда к проблемам приводит ненадлежащее управление созданием, использованием, передачей или уничтожением важных ресурсов системы.
    • CWE-119: Неспособность удержать действия в определенных жестких рамках или в пределах заданного буфера памяти, приводит к классическим уязвимостям вида выхода за допустимые границы и переполнению буфера;
    • CWE-642: Возможность внешнего контроля над критическими данными, например, восприятие важных данных из областей, куда атакующий имеет доступ (cookie, переменные окружения, скрытые параметры web-форм и т.п.);
    • CWE-73: Возможность внешнего переопределения путей или имен файлов, например, когда в качестве имени файла используется какой-то передаваемый параметр, используя "../" в котором можно выйти за пределы текущей директории;
    • CWE-426: Излишнее доверия к стандартным путям, например, выполняя стандартную внешнюю программу без полного задания пути, при изменении значения переменной PATH, в результате может быть выполнена программа злоумышленника;
    • CWE-94: Проблемы, вызванные динамической генерацией кода (Code Injection), например, вызов созданного на лету кода через eval/include в скриптовых языках;
    • CWE-494: Загрузка исполняемого кода без проверки его целостности через сверку цифровой подписи, например, в результате взлома сайта или подстановки неверной информации в DNS, злоумышленник может изменить содержимое пакета с программой;
    • CWE-404: Некорректное выделение или освобождение ресурсов, может привести к утечкам памяти, обращению к уже освобожденным областям, двойному освобождению областей памяти и т.п.;
    • CWE-665: Некорректная инициализация значений переменных и структур данных, например, в некоторых переменных могут остаться параметры предыдущей сессии;
    • CWE-682: Некорректные вычисления, не учитывающие размерность используемого типа данных. Может привести к некорректному расчету размера буфера, делению на ноль, целочисленному переполнению, получению отрицательных значений там, где они не ожидаются.
  • Ненадежная защита, некорректное использование, игнорирование или злоупотребление средствами защиты.
    • CWE-285: Некорректный контроль доступа (авторизации);
    • CWE-327: Использование ненадежных или рискованных криптографических алгоритмов;
    • CWE-259: Задание базового пароля прямо в коде скрипта или в общедоступных файлах конфигурации;
    • CWE-732: Небезопасное назначение прав доступа к критически важным ресурсам, например, возможность чтения или изменения другим пользователем конфигурационных или служебных файлов;
    • CWE-330: Использование предсказуемых случайных значений;
    • CWE-250: Выполнение кода с повышенными привилегиями, без которых можно обойтись , которые можно сбросить или вынести в виде отдельного модуля;
    • CWE-602: Обеспечение безопасности сервера на стороне клиента.


  1. Главная ссылка к новости (http://www.sans.org/top25error...)
  2. OpenNews: 20 самых значительных уязвимостей 2007 года
Лицензия: CC-BY
Тип: Обобщение
Ключевые слова: security
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, cherep (??), 17:56, 13/01/2009 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    самая опасная ошибка это программер :)
     
  • 1.2, Аноним (-), 18:04, 13/01/2009 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    26. Использование заведомо глючной платформы (Windows, PHP, и т.п.)
     
     
  • 2.4, metallic (?), 19:10, 13/01/2009 [^] [ответить]    [к модератору]
  • +/
    >26. Использование заведомо глючной платформы (Windows, PHP, и т.п.)

    и какая же альтернатива ПХП у нас есть?


     
     
  • 3.6, none (??), 19:54, 13/01/2009 [^] [ответить]    [к модератору]
  • +/
    ой, пхпшника задели
     
     
  • 4.10, vitek (??), 22:34, 13/01/2009 [^] [ответить]    [к модератору]
  • +/
    а если всё-таки ответить?
    слабо?
     
     
  • 5.14, Аноним (14), 23:14, 13/01/2009 [^] [ответить]    [к модератору]  
  • +/
    Есть рельсы, есть джанго, вполне достойная замена пыхпыху
     
     
  • 6.18, vitek (??), 23:35, 13/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >Есть рельсы, есть джанго, вполне достойная замена пыхпыху

    ага. есть шпалы.. :-D
    а если нужно что-то попроще?

     
  • 6.37, User294 (ok), 15:20, 14/01/2009 [^] [ответить]     [к модератору]  
  • +/
    И где примеры достойных приложений на этой достойной замене Ну хоть что-то не по... весь текст скрыт [показать]
     
     
  • 7.45, Alexander Q (?), 09:09, 15/01/2009 [^] [ответить]    [к модератору]  
  • +/
    twitter
     
  • 5.27, none (??), 07:16, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >а если всё-таки ответить?
    >слабо?

    не слабо.  perl.

     
  • 5.29, Eratothene (?), 09:02, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/
    Python, Perl
    А также Java EE.
    Ну а для сильнозагруженных и ресурсоограниченных есть: С++ server pages, KLONE.

     
     
  • 6.32, vitek (??), 10:15, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/
    j2ee - это corba, ejb, jsp, jsf,...? и без сервера приложений это имеет смысл?
    с питоном - может ещё и соглашусь... а вот всё остальное альтернативой можно назвать с большой натяжкой.
     
  • 6.38, User294 (ok), 15:23, 14/01/2009 [^] [ответить]     [к модератору]  
  • +/
    По наблюдениям - на питоне есть относительно небольшое число довольно уродливых ... весь текст скрыт [показать]
     
     
  • 7.48, none (??), 11:12, 18/01/2009 [^] [ответить]     [к модератору]  
  • +/
    http wiki python org moin ContentManagementSystems http www google com Top C... весь текст скрыт [показать]
     
  • 3.28, Аноним (14), 09:00, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/
    aspx :)
     
     
  • 4.31, 999 (ok), 09:42, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >aspx :)

    и винда с ишаком в наследсво

     
  • 4.39, User294 (ok), 15:28, 14/01/2009 [^] [ответить]     [к модератору]  
  • +/
    На ЭТОМ почему-то традиционно написаны САМЫЕ УРОДСКИЕ И СТРАШНЫЕ сайты Наприм... весь текст скрыт [показать]
     
  • 3.46, YEG (?), 10:53, 15/01/2009 [^] [ответить]    [к модератору]  
  • +/
    python, perl
     
  • 2.7, RapteR (ok), 20:02, 13/01/2009 [^] [ответить]     [к модератору]  
  • +/
    Не удачный сексуальный опят с PHP Почему у меня нет таких проблем Я считаю бол... весь текст скрыт [показать]
     
     
  • 3.9, tesseract (?), 20:20, 13/01/2009 [^] [ответить]     [к модератору]  
  • +/
    Точно даёшь 100 нативный код Каждому веб-сайту по собственному веб-серверу Фр... весь текст скрыт [показать]
     
  • 3.49, none (??), 11:30, 18/01/2009 [^] [ответить]     [к модератору]  
  • +/
    согласился бы, если бы пхп-шники сами не ломали свое поделие, причем у них это у... весь текст скрыт [показать]
     
  • 1.3, Аноним (14), 18:49, 13/01/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Неспособность,Неспособность,Неспособность...
    они ошибки анализируют? по-моему пальцем тыкают в недостатки программиста...
     
     
  • 2.5, tesseract (?), 19:24, 13/01/2009 [^] [ответить]     [к модератору]  
  • +/
    А программы флудерасты что-ли пишут ИМХО это ошибки критичны больше как раз для... весь текст скрыт [показать]
     
     
  • 3.8, busik (?), 20:13, 13/01/2009 [^] [ответить]     [к модератору]  
  • +/
    Ага С большой буквы ... весь текст скрыт [показать]
     
  • 3.11, vitek (??), 22:38, 13/01/2009 [^] [ответить]    [к модератору]  
  • +/
    > в винде баги по другому пишутся :-)

    там они не пишутся.. там они бесплатным бонусом идут.

     
  • 1.12, Аноним (12), 22:41, 13/01/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    все зависит от квалификации специалиста
    и только частично от средств реализации
     
     
  • 2.16, vitek (??), 23:26, 13/01/2009 [^] [ответить]     [к модератору]  
  • +/
    истину глаголишь хороший спец и проблемы найдет, и пути их решения предложит... весь текст скрыт [показать]
     
  • 2.40, User294 (ok), 15:45, 14/01/2009 [^] [ответить]     [к модератору]  
  • +/
    Плохому танцору вечно ноги мешают Простите, то есть, PHP, винды или что там еще ... весь текст скрыт [показать]
     
     
  • 3.42, geekkoo (ok), 15:58, 14/01/2009 [^] [ответить]     [к модератору]  
  • +/
    gt оверквотинг удален Ну, это жизнь Эволюция Т е видимо биллинг вначале зак... весь текст скрыт [показать]
     
     
  • 4.43, pavel_simple (??), 16:11, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/

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

    красиво сказал

     
     
  • 5.44, Andrey Mitrofanov (?), 17:02, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >>В этой связи хочется добавить, что только GPL обеспечивает нормальную обратную связь,
    >>кторая может предотвратить накопление патогенных мутаций ...
    >красиво сказал

    И неправильно.

    Не "только GPL", а "GPL + управление проектом + модель разарботки + поддерживаемое/-ющее жизнеспособное сообщество + свободные коммуникации + $и.т.д".

    Как-то так... :-j "Но и в этом случае сомнения не покидают меня."(ТМ)

     
  • 1.15, pavlinux (ok), 23:16, 13/01/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Особо понравились:  
    > # Использование ненадежных или рискованных криптографических алгоритмов;
    > # CWE-330: Использование предсказуемых случайных значений;

    Может кто подскажет, надежные и не рискованные криптоалгоритмы?  
    Наши ФСБшники от слов Camellia и Blowfish ржут как кони, а от AES, ващще,  по полу катаются!!!

    А так же, уравнение создания НЕпредсказуемых случайных значений?

    Один видел, размером с холодильник, на газоразрядных лампах...


     
     
  • 2.17, vitek (??), 23:29, 13/01/2009 [^] [ответить]    [к модератору]  
  • +/
    ну ты даешь стране угля.
    пропал то куда?
     
     
  • 3.19, pavlinux (ok), 00:23, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/
    Миднайт кодим :)
     
     
  • 4.20, vitek (??), 00:40, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/
    дык это твоя идея при копировании местами полоску менять?
    лучше в mcedit кодировки вставь... или скажи куда присобачить, то сам вставлю.. через iconv.. ни хрена заявленная не работает:-D

    ещё вот хочу через fuse базы данных монтировать и этим mcedit (или ещё чем) править... что-то идеи как это правильно в дереве отразить кончились... что скажешь?

     
  • 2.21, ll (?), 01:18, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >>Может кто подскажет, надежные и не рискованные криптоалгоритмы?  
    >>Наши ФСБшники от слов Camellia и Blowfish ржут как кони, а от AES, ващще,  по полу >>катаются!!!

    Вы хотите сказать, что ваши фсбшники способны вскрыть данные алгоритмы, в не зависимости от длинны пароля, за разумное время? Батенька, назвали бы тогда уж альтернативу какую :)

     
     
  • 3.22, pavlinux (ok), 01:25, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/
    Дык, они закрыты :)
     
     
  • 4.23, pavlinux (ok), 01:27, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/
    Кстати, многими любимый ГОСТ 2004, на эллептич крывых... тоже засада, ....... ладно,   и так много наболтал
     
     
  • 5.24, vitek (??), 01:46, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/
    слышали уже... спи спокойно.
     
  • 5.25, ll (?), 01:55, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >Кстати, многими любимый ГОСТ 2004, на эллептич крывых... тоже засада, ....... ладно,
    >  и так много наболтал

    RSA то хоть можно пользоваться? Или паника не избежна? :)

     
     
  • 6.26, Аноним (-), 06:06, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/
    неизбежна, уже поступили кластеры на приставках =))
     
  • 5.35, atom (?), 12:37, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >Кстати, многими любимый ГОСТ 2004, на эллептич крывых... тоже засада, ....... ладно,
    >  и так много наболтал

    Балабол. Каждый может нафантазировать что ФСБ все читает, пишет и следит за каждым. А еще в России самые секретистые и стрАААшные разработки, лучшее оружие, спецслужбы и армия. Просто это все на столько секретно, что никто не видел и не увидит никогда. Параноики ,kznm.

     
  • 2.41, User294 (ok), 15:54, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >А так же, уравнение создания НЕпредсказуемых случайных значений?

    Павлин, скажи пожалуйста - если нечто описывается каким-то уравнением, какое ж оно тогда, нафиг, случайное?!Хорошая у тебя трава, забористая.Наверное ФСБшники с тобой щедро поделились =)

    А так - подсказываю: шум с микрофонного входа звуковухи можно считать до некоторой степени случайным.Тепловой шум - этот вообще качественная штука и вокруг его хоть отбавляй.Усиливай, цифруй, вот тебе и рандом.Хотя и требующий каких-то аппаратных довесков.

     
     
  • 3.47, xxx (??), 17:12, 15/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >>А так же, уравнение создания НЕпредсказуемых случайных значений?
    >
    >Павлин, скажи пожалуйста - если нечто описывается каким-то уравнением, какое ж оно
    >тогда, нафиг, случайное?!Хорошая у тебя трава, забористая.Наверное ФСБшники с тобой щедро
    >поделились =)

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

    >А так - подсказываю: шум с микрофонного входа звуковухи можно считать до некоторой степени случайным.

    Насколько я знаю в /dev/urandom появляются значния сгенерированные на основе поступления прерываний, ввода с клавиатуры, мышки, мусора в памяти и т. д. По-моему тоже достаточно случайно, или как знатоки в ФСБ считают?


     
  • 1.30, Аноним (14), 09:29, 14/01/2009 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    SQL - зло Точнее не зло, а просто инструмент используемый не по назначению Его... весь текст скрыт [показать]
     
  • 1.33, Аноним (14), 11:22, 14/01/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Это какие такие "нормальное API" для запросов в БД ?
     
     
  • 2.34, geekkoo (ok), 12:11, 14/01/2009 [^] [ответить]    [к модератору]  
  • +/
    >Это какие такие "нормальное API" для запросов в БД ?

    Как в BerkeleyDB, например.

     
     
  • 3.36, Аноним (-), 14:51, 14/01/2009 [^] [ответить]     [к модератору]  
  • +/
    Где-то так То что SQL изначально не был turing-complete уже четко очерчивает об... весь текст скрыт [показать]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor