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 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    и какая же альтернатива ПХП у нас есть ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.6, none, 19:54, 13/01/2009 [^] [ответить] [смотреть все]  
  • +/
    ой, пхпшника задели
     
     
  • 4.10, vitek, 22:34, 13/01/2009 [^] [ответить] [смотреть все]  
  • +/
    а если всё-таки ответить?
    слабо?
     
     
  • 5.14, Аноним, 23:14, 13/01/2009 [^] [ответить] [смотреть все]  
  • +/
    Есть рельсы, есть джанго, вполне достойная замена пыхпыху
     
     
  • 6.18, vitek, 23:35, 13/01/2009 [^] [ответить] [смотреть все]  
  • +/
    ага есть шпалы -D а если нужно что-то попроще ... весь текст скрыт [показать]
     
  • 6.37, User294, 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 Ну а для сильнозагруженных и ресурсоограниченных е... весь текст скрыт [показать]
     
     
  • 6.32, vitek, 10:15, 14/01/2009 [^] [ответить] [смотреть все]  
  • +/
    j2ee - это corba, ejb, jsp, jsf, и без сервера приложений это имеет смысл с... весь текст скрыт [показать]
     
  • 6.38, User294, 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, Аноним, 09:00, 14/01/2009 [^] [ответить] [смотреть все]  
  • +/
    aspx :)
     
     
  • 4.31, 999, 09:42, 14/01/2009 [^] [ответить] [смотреть все]  
  • +/
    >aspx :)

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

     
  • 4.39, User294, 15:28, 14/01/2009 [^] [ответить] [смотреть все]  
  • +/
    На ЭТОМ почему-то традиционно написаны САМЫЕ УРОДСКИЕ И СТРАШНЫЕ сайты Наприм... весь текст скрыт [показать]
     
  • 3.46, YEG, 10:53, 15/01/2009 [^] [ответить] [смотреть все]  
  • +/
    python, perl
     
  • 2.7, RapteR, 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, Аноним, 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, Аноним, 22:41, 13/01/2009 [ответить] [смотреть все]  
  • +/
    все зависит от квалификации специалиста и только частично от средств реализации... весь текст скрыт [показать]
     
     
  • 2.16, vitek, 23:26, 13/01/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    истину глаголишь хороший спец и проблемы найдет, и пути их решения предложит... весь текст скрыт [показать] [показать ветку]
     
  • 2.40, User294, 15:45, 14/01/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Плохому танцору вечно ноги мешают Простите, то есть, PHP, винды или что там еще ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.42, geekkoo, 15:58, 14/01/2009 [^] [ответить] [смотреть все]  
  • +/
    gt оверквотинг удален Ну, это жизнь Эволюция Т е видимо биллинг вначале зак... весь текст скрыт [показать]
     
     
  • 4.43, pavel_simple, 16:11, 14/01/2009 [^] [ответить] [смотреть все]  
  • +/
    красиво сказал ... весь текст скрыт [показать]
     
     
  • 5.44, Andrey Mitrofanov, 17:02, 14/01/2009 [^] [ответить] [смотреть все]  
  • +/
    И неправильно Не только GPL , а GPL управление проектом модель разарботки... весь текст скрыт [показать]
     
  • 1.15, pavlinux, 23:16, 13/01/2009 [ответить] [смотреть все]  
  • +/
    Особо понравились:  
    > # Использование ненадежных или рискованных криптографических алгоритмов;
    > # CWE-330: Использование предсказуемых случайных значений;

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

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

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


     
     
  • 2.17, vitek, 23:29, 13/01/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    ну ты даешь стране угля.
    пропал то куда?
     
     
  • 3.19, pavlinux, 00:23, 14/01/2009 [^] [ответить] [смотреть все]  
  • +/
    Миднайт кодим :)
     
     
  • 4.20, vitek, 00:40, 14/01/2009 [^] [ответить] [смотреть все]  
  • +/
    дык это твоя идея при копировании местами полоску менять лучше в mcedit кодиров... весь текст скрыт [показать]
     
  • 2.21, ll, 01:18, 14/01/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Вы хотите сказать, что ваши фсбшники способны вскрыть данные алгоритмы, в не зав... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.22, pavlinux, 01:25, 14/01/2009 [^] [ответить] [смотреть все]  
  • +/
    Дык, они закрыты :)
     
     
  • 4.23, pavlinux, 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, 15:54, 14/01/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >А так же, уравнение создания НЕпредсказуемых случайных значений?

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

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

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

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

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

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


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

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

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

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


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