Самые опасные ошибки в программах

Discussion in 'Мировые новости. Обсуждения.' started by K800, 2 Jul 2011.

  1. K800

    K800 Nobody's Fool

    Joined:
    25 Dec 2010
    Messages:
    2,190
    Likes Received:
    3,825
    Reputations:
    372
    [​IMG]

    На странице cwe.mitre.org/top25 появился обновленный список из 25 наиболее опасных ошибок в программах. Новый рейтинг был составлен в самом конце июня.

    Первый десяток типичных ошибок, которые могут привести к самым печальным последствиям:

    1. Неправильная интерпретация пользовательских данных в SQL-запросе. Ошибка приводит к возможности использования SQL-инъекций (SQL Injection).

    2. Неправильная интерпретация пользовательских данных, передаваемых в команды операционной системы. Ошибка приводит к возможности выполнять произвольные команды на уязвимой системе (OS Command Injection).

    3. Копирование буфера без проверки его размера. Это классическое переполнение буфера (Classic Buffer Overflow).

    4. Неправильная интерпретация пользовательских данных при генерации веб-страницы. Ошибка приводит к возможности разместить на веб-странице не только текст, но и исполняемый скрипт (Cross-site Scripting, XSS).

    5. Пренебрежение проверкой аутентификации при выполнении критических действий (Missing Authentication for Critical Function). Например, для смены пароля обычно нужно вводить старый пароль или отвечать на секретный вопрос. В случае, если этой защитой пренебрегают, злоумышленник может сменить пароль не зная старого пароля.

    6. Пренебрежение проверкой авторизации (Missing Authorization). Типичный пример - вконтакте. Даже если фотография находится в закрытом альбоме, но у вас есть прямая ссылка на неё, то вы сможете её увидеть, вконтакт не проверяет, имеете ли вы право на доступ.

    7. Открытое указание паролей и других критически важных для безопасности данных прямо в коде программы или в скрипте (Use of Hard-coded Credentials). Ошибка позволяет прочитать логин и пароль администратора базы данных сайта просто просмотрев код страницы или скачав с уязвимого сайта любой php-скрипт, который работает с базой. К этому же пункту относится ситуация, когда забывают закрыть доступ к файлам конфигурации и их можно получить просто обратившись по пути, где такие файлы обычно лежат.

    8. Хранение важных данных в незашифрованном виде (Missing Encryption of Sensitive Data). Яркий пример - взлом серверов Сони - пароли пользователей хранились в незашифрованном виде.

    9. Отсутствие ограничений на загрузку файлов только определенного типа (Unrestricted Upload of File with Dangerous Type). Классический пример - загрузка скрипта, вместо картинки. При обращении к скрипту он выполнится на сервере.

    10. Излишнее доверие к данным, передаваемым от пользователя (Reliance on Untrusted Inputs in a Security Decision). Чем-то похоже на пункты 5 и 6 - например, если злоумышленник украдет куки, с хранящейся в них сессией, то при наличии этой ошибки он сможет получить полный доступ к учетной записи.

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

    [Блог пользователя krasylnikov]
    02.07.2011
    http://av-school.ru/blogs/comment/mp/3459​
     
  2. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    Ничего нового
     
  3. C17_Saber

    C17_Saber Banned

    Joined:
    29 Mar 2010
    Messages:
    13
    Likes Received:
    2
    Reputations:
    -1
    Встретил я один раз программу.
    Патчер для чего то, уже и не помню.
    Фишка в том что ей нужно указать путь к файлу. Но если путь указан "криво" или "не туда" она начинала рекурсивно сносить все на диске. Такие дела.
     
  4. edge911

    edge911 Active Member

    Joined:
    21 Feb 2009
    Messages:
    105
    Likes Received:
    142
    Reputations:
    15
    что тут еще можно сказать, кроме:
    повторение - мать учения)
     
Loading...