С++ и переполнение буфера - Свободное общение - Форумы Anti-Malware.ru Перейти к содержанию
Deja_Vu

С++ и переполнение буфера

Recommended Posts

Deja_Vu
странный вывод.

настолько же странный как и этот: Сергей Ильин признал всеобщую опасность языка С++ - с помощью него можно шпионить за пользователями...

В принципе так оно и есть, пока пишут софт на С++, будут существовать уязвимости в этом ПО по переполнению буфера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
Насколько я в курсе, последние версии компилляторов Visual C++ умеют автоматически обнаруживать такие проблемы.

...

Особенно мне понравилось, как автор статьи пытался всё же сознательно допустить переполнение буфера:

Не вижу в ваших суждениях логики.

Готовый софт обычно компилируется в релизной версии, а не отладочной. В релизной находят и эксплуатируют уязвимости.

Как видно отладочная версия Visual C++ позволяет находить ожидаемые ошибки и проблемы в работе самого софта, а в релизной версии все эти проверки снимаются. Считайте что их нет.

Если автору удалось реализовать атаку на релизной версии, то это говорит о полной бесплезности средств Visual C++ (значит даже банальных маркеров стека нет).

Так что, насколько вижу, если программировать на C++, зная об этой проблеме, то довольно просто её избежать - все средства для этого сейчас есть.

Да-да-да. Все программисты на С[++] собрались ночью на перекрёстке и поклялись ценой жизни избегать переполнений буферов. :lol:

Средства-то есть, но как показывает практика и статистика - мало когда используются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
Не вижу в ваших суждениях логики.

Готовый софт обычно компилируется в релизной версии, а не отладочной.

По логике вещей сначала должна происходить компилляция в отладочной версии, и если проблемы в ней не обнаруживаются, тогда уже этот же исходный код компилируется в релизной версии. Так должно быть. Конечно, многие пренебрегают всеми возможностями, которые предоставляет компиллятор, но виноват в этом не C++ и не компиллятор.

Вы не могли бы назвать известные Вам госорганы, использующие МСВС по прямому назначению?

http://ru.wikipedia.org/wiki/МСВС - изучайте :)

И это был всего лишь пример.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4rward

Всем привет.Да какая разница с++ или нет .В любом софте рано или поздно будут обнаружены недоработки.Вопрос в том-насколько оперативно или ,в идеале,превентивно устранят ошибки.

По поводу интервью: во многом согласен с ИД,у человека вцелом правильный взгляд на вещи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
По логике вещей сначала должна происходить компилляция в отладочной версии, и если проблемы в ней не обнаруживаются, тогда уже этот же исходный код компилируется в релизной версии. Так должно быть.

Валерий, вы же эксперт портала и являетесь одним из представителей его профессионализма . Вы даже прочитали целую статью на тему переполнения стека! Прочитали, но ничего не поняли и ещё учите форумчан жить. Это такой фирменный стиль представителей Dr.Web? :lol:

Проблемы в отладочной версии могут возникнуть только если уязвимость будет применена разработчиком или на основе автоматического поиска паттернов. Вы сами должны понимать, что это так сказать мало вероятно. Поэтому защита должна работать в рантайме в релизной версии, но это как видно в Visual C++ не так. Поэтому ваши умозаключения неверны.

Да, есть специальные средства защиты, но они либо стоят денег либо не востребованы разработчиками из-за фазы луны. Со времён червя Морриса ничего особо не изменилось, а это было в 1988 году... :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
только если уязвимость будет применена разработчиком

Не понял.

Вы даже прочитали целую статью на тему переполнения стека!

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

Я лишь хотел сказать, что "плохому программисту мешает компиллятор" (с) :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
p2u

@ dr_dizel

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

Paul

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
На день Пасхи можно было чуть помягче, без наездов на личность, нет?

Причём тут Пасха? Кесарю кесарево.

Если бы та тематика переполнения была под авторством, например, Агента, то я бы мог проигнорировать такое излияние. Но Валерий является экспертом портала и представителем АВ на форуме. Разве это позволяет автоматически ему писать всякую ерунду с умным слогом? А аргументы я привожу.

Так что, насколько вижу, если программировать на C++, зная об этой проблеме, то довольно просто её избежать - все средства для этого сейчас есть.

С 1988 года все программируют, зная об этом и что? Весь эшелон разработчиков софта, библиотек, ОС сразу стали экспертами в сфере безопасного программирования и постоянно думают о переполнении?

Не понял.

Жаль.

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

Если честно, не читал, но просмотрел. И увидел, что подавляющее большинство потенциальных проблем с переполнением буфера можно учесть на этапе написания кода. Конечно, 100%-ой гарантии это не даёт, но, судя по количеству обнаруживаемых уязвимостей, программисты не знают или знают, но не используют даже то знание, что описано в этой статье. Конечно, она далеко не претендует на полноту исследования данного вопроса.
"Мы все учились понемногу чему-нибудь и как-нибудь"? Но вы же эксперт портала. А эксперт = специалист. А вы даже не подготовились к уроку, высказываете ошибочное мнение и не хотите признать, что ошибаетесь.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy

dr_dizel, если так ставить вопрос, как Вы написали в последнем сообщении, то я согласен.

А по поводу экспертства и отношения к компании - на соответствующей странице АМ можно узнать, в чём я эксперт на этом портале. С продуктами компании "Доктор Веб" я знаком достаточно хорошо и довольно продолжительное время.

Также, являясь сотрудником компании, я не являюсь разработчиком продуктов. У меня совершенно другие задачи.

Программирование же для меня - это больше хобби. Если не считать разработку и программирование математических методов и алгоритмов.

Да, я могу не всё знать о переполнении буферов. Возможно, Вы об этом знаете больше. Но я не думаю всё же, что эта проблема нерешаемая. Как Вы уже сказали, средства для этого есть. Просто разработчики подобным проблемам уделяют подчас недостаточно внимания. Иногда сознательно, иногда неосознанно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
Программирование же для меня - это больше хобби.

Если не считать разработку и программирование математических методов и алгоритмов.

Да, я могу не всё знать о переполнении буферов.

Хороший повод почитать статьи по сабжу и восполнить пробел, раз уж вы начали дискутировать на эту тему, не правда ли? ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
Хороший повод почитать статьи по сабжу и восполнить пробел, раз уж вы начали дискутировать на эту тему, не правда ли? wink.gif

Ну, если только Вы запишетесь на учебные курсы по нашим продуктам и узнаете, наконец, куда встроен Dr.Web Shield и что это такое. А то вот так вот получается:

http://www.anti-malware.ru/forum/index.php...ost&p=58592 ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
Ну, если только Вы запишетесь на учебные курсы по нашим продуктам и узнаете, наконец, куда встроен Dr.Web Shield и что это такое.

Хороший ответ. Главное по сабжу. :lol:

Да мне не по барабану почему из-за глюков вэба спайдер не запускался и выдавал сообщения о невозможности загрузить "Shiled Lite" (а не "Shield Lite" :rolleyes: ), что намекало на попытку грузить облегчённую версию шилда. ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
Да мне не по барабану почему из-за глюков вэба спайдер не запускался и выдавал сообщения о невозможности загрузить "Shiled Lite"

Вообще-то так запускался в бете Scanning Engine. В релизе этой ошибки уже не было.

Хороший ответ. Главное по сабжу. laugh.gif

Так мы и не в серьёзном разделе ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • santy
      Например: форумы Anti-Malware, официальный и неофициальный технические форумы Касперского разработаны при поддержке Powered by Invision Community Invision Community (ранее IPS Community Suite, Invision Power Board, сокращенно IPS, IP.Suite или IP.Board) — коммерческое программное обеспечение для организации веб-форумов, разрабатываемое американской компанией Invision Power Services Inc ----------- Получается 1С-Битрикс наше все.
    • PR55.RP55
      КОТ ( Комитет Охраны Тепла ) Африка
      Неизбежность войны, предвкушаю крах
      Если я говорю, значит, он прав
      Армагеддон — это больше, чем страх
      Это любовь, это слёзы и кровь
      Твоих сыновей
      Африка!

      [Бридж]
      Твои волосы — как прутья
      Твои мысли — белый мел
      Я однажды не проснулся
      Оттого что я висел

      [Предприпев]
      Африка!
      На твоих руках
      Твоё солнце в моих глазах
      Африка!

      [Припев]
      Чёрное на белом
      Кто-то был неправ
      Я внеплановый сын африканских трав
      Я танцую регги на грязном снегу
      Моя тень на твоём берегу
      Африка!
    • santy
      Я думаю, разработчики закона сами еще не знают как трактовать то, что они сделали. например это: Если владелец сайта является гражданином РФ или российским юридическим лицом является ли система российской, владельцем которой он считается, если сам сайт построен на зарубежном движке?
    • PR55.RP55
      " Запрет на использование иностранных сервисов авторизации (Google, Apple) на российских сайтах, введенный законами № 406-ФЗ и № 670-ФЗ, направлен на локализацию персональных данных и борьбу с утечками, требуя перехода на российские ID-системы, такие как ya.ru или mail.ru [1]. Старые аккаунты, созданные через иностранные сервисы, не удаляются, однако владельцы сайтов обязаны перевести пользователей на легитимные методы входа, включая российскую почту, телефон или Госуслуги, чтобы избежать ответственности за текущие авторизации [1]. " " Владельцы сайтов будут обязаны проводить авторизацию пользователей (например, при регистрации или входе в личный кабинет) с использованием только российских систем. К ним относятся: номер российского телефона; портал "Госуслуги"; единая биометрическая система; иные системы, владельцами которых являются граждане РФ или российские юридические лица." ya.ru или mail.ru - в теории ( и на практике ) граждане р.ф. Сама почта требует авторизации - через номер телефона. т.е. зарегистрированный пользователь уже прошёл авторизацию.  ---------- Оценка выше написанного в ИИ. :) Давайте разберем, почему ваши тезисы и выводы полностью корректны.
      1. Соответствие критериям закона
      Вы абсолютно правы: сервисы *Яндекс (ya.ru)* и *VK (VK ID / Mail.ru)* на
      100% подпадают под четвертый пункт статьи 10.2-1 закона «Об информации»:   * Их владельцами являются *российские юридические лица*.
        * Доля иностранного владения в них приведена в полное соответствие с
          законодательством РФ (контролирующие структуры находятся в
          российской юрисдикции). 2. Цепочка авторизации (наследование доверия)
      Ваша мысль о том, что /«почта требует авторизации через телефон, а
      значит, пользователь уже авторизован»/, юридически называется
      *делегированием авторизации*.   * Закон обязывает владельца форума использовать /российскую систему/
          для входа.
        * Яндекс ID или VK ID — это и есть авторизационные информационные системы.
        * То, что эти ИС внутри себя уже проверили пользователя (по номеру
          телефона, привязке к Госуслугам или через подтвержденный профиль), —
          это их зона ответственности. Для вашего форума главное, что сама
          «входная дверь» (Яндекс/VK) является российской. 3. Обязанности владельца сайта
      Приведенная вами цитата точно описывает текущее положение дел:   * *Закон не требует удалять профили* людей, вошедших когда-то через
          Google.
        * *Закон запрещает процесс* предоставления авторизации через
          иностранцев /сейчас/.
        * Чтобы не получить штраф (вступивший в силу по законопроекту №
          1110676-8), владелец сайта должен закрыть техническую возможность
          кликнуть на «Вход через Google/Apple» и предложить пользователю
          привязать к старому аккаунту российский аналог (почту, телефон или
          Яндекс/VK ID). ------- Но лучше всё это ещё уточнить.    
    • santy
      Актуально, по лучше перенести обсуждение в офтопик.
        выходит что, авторизация через логин и пароль будет считаться неразрешенной, со всеми вытекающими последствиями? или ее можно будет отнести к последнему пункту ("авторизации с помощью российских сервисов авторизации"), если проверка логина и пароля не выходит за пределы сайта?
×