Проверьте свой IQ по безопасности кода
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 21.11.08 09:51
Оценка: 12 (4)
В ноябрьском выпуске журнала MSDN опубликована статья Говарда и Салливана в которой представлены 10 фрагментов уязвимого кода. Читателям предлагается найти все допущенные в них уязвимости, посчитать свои баллы и, тем самым, осуществить сабж. После каждого из фрагментов идет весьма познавательный "разбор полетов" на тему "почему так нельзя делать".

Набрал 12 баллов , зато есть куда развиваться

P.S: На радость "Нео и Морфеусов", 6 фрагментов написаны на C#

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re: Проверьте свой IQ по безопасности кода
От: Hobot Bobot США  
Дата: 21.11.08 12:25
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>P.S: На радость "Нео и Морфеусов", 6 фрагментов написаны на C#


Справедливости ради надо заметить, что уязвимости, которые эти фрагменты демонстрируют, легко можно было проиллюстрировать и примерами на С/С++. А вот наоборот — вряд ли.
What a piece of work is a man! how noble in reason! how infinite in faculty! in form and moving how express and admirable! in action how like an angel! in apprehension how like a god! the beauty of the world! the paragon of animals!
Re: Проверьте свой IQ по безопасности кода
От: Сергей  
Дата: 21.11.08 12:39
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

Передводчик отжигает:

Допустим, что код Linux – это приложение, помеченное как корень setuid. Когда приложение запускается обычным пользователем, приложение реально работает как корень, а это означает уязвимость локального повышения прав доступа.

Re[2]: Проверьте свой IQ по безопасности кода
От: oziro Нигерия  
Дата: 21.11.08 15:21
Оценка:
Здравствуйте, Сергей, Вы писали:

С>Передводчик отжигает:


Там еще

введение SQL

и

введение XPath

, которые инъекции
Re[3]: Проверьте свой IQ по безопасности кода
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 21.11.08 15:28
Оценка:
Здравствуйте, oziro, Вы писали:

O>Здравствуйте, Сергей, Вы писали:


С>>Передводчик отжигает:


O>Там еще

введение SQL

и

введение XPath

, которые инъекции


"зловредная ошибка" тоже ничего, если вдуматься

http://msdn.microsoft.com/en-us/magazine/dd239189.aspx — англоязычная версия журнала, причем именно этот номер целиком посвящен security, там есть что еще почитать.

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[2]: Проверьте свой IQ по безопасности кода
От: vayerx  
Дата: 24.11.08 09:39
Оценка:
Здравствуйте, Hobot Bobot, Вы писали:

KV>>P.S: На радость "Нео и Морфеусов", 6 фрагментов написаны на C# ;)

HB>Справедливости ради надо заметить, что уязвимости, которые эти фрагменты демонстрируют, легко можно было проиллюстрировать и примерами на С/С++. А вот наоборот — вряд ли. :)

да вернитесь же наконец в сырую землю! вам легче спать от того, что именно такие уязвимости не получится сделать на С#? хорошо, нельзя именно эти, но можно нахреначить кучу других. и не забывайте, что в C++ есть готовые стандартные средства, которыми можно многократно сократить возможность допущения приведенных ошибок. скажете, что раз в языке есть потенциально небезопасные вещи, то ими нужно обязательно пользоваться? если вы пользуетесь "низкоуровневым" api, то должны понимать, как именно с ним нужно работать и, соответсвенно, берете на себя ответственность, за все потенциальные ошибки. хотите поковыряться в АЭС паяльником, вместо того, чтобы заменить готовый блок — ковыряйтесь.
Re[3]: Проверьте свой IQ по безопасности кода
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 24.11.08 11:41
Оценка: :)))
Здравствуйте, vayerx, Вы писали:

V>Здравствуйте, Hobot Bobot, Вы писали:


KV>>>P.S: На радость "Нео и Морфеусов", 6 фрагментов написаны на C#

HB>>Справедливости ради надо заметить, что уязвимости, которые эти фрагменты демонстрируют, легко можно было проиллюстрировать и примерами на С/С++. А вот наоборот — вряд ли.

V>да вернитесь же наконец в сырую землю!


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

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[3]: Проверьте свой IQ по безопасности кода
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 24.11.08 11:47
Оценка:
Здравствуйте, vayerx, Вы писали:

Можно один вопрос? Если все так радужно, почему большая часть уязвимостей, обнаруживаемая в ОСях и, скажем — броузерах, относится именно к этому классу уязвимостей (статистика, подтверждающая это есть на secunia.com и securityfocus.com)?

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[4]: видимо, продолжая бессмысленный холивар...
От: vayerx  
Дата: 24.11.08 12:38
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Можно один вопрос? Если все так радужно, почему большая часть уязвимостей, обнаруживаемая в ОСях и, скажем — броузерах, относится именно к этому классу уязвимостей (статистика, подтверждающая это есть на secunia.com и securityfocus.com)?


О какой именно статистике на secunia.com и securityfocus.com идет речь? Приведите, пожалуйста, конкретные ссылки.

Попытаюсь ответить априорно, правда, вопросом на вопрос. Какой процент софта, в котором обнаруженны уязвимости, написан/использует код "олдскульникамов" и/или ansi c? От какого объема софта считается процент (от суммарного во всем мире? от неуправляемого? etc?)? Как именно рассчитвается этот процент (кол-во приложений? кол-во пользователей? суммарное время использования? кол-во строчек кода? etc?)?
Re[3]: Проверьте свой IQ по безопасности кода
От: alexeiz  
Дата: 24.11.08 22:34
Оценка:
Здравствуйте, vayerx, Вы писали:

V>Здравствуйте, Hobot Bobot, Вы писали:


KV>>>P.S: На радость "Нео и Морфеусов", 6 фрагментов написаны на C#

HB>>Справедливости ради надо заметить, что уязвимости, которые эти фрагменты демонстрируют, легко можно было проиллюстрировать и примерами на С/С++. А вот наоборот — вряд ли.

V>да вернитесь же наконец в сырую землю! вам легче спать от того, что именно такие уязвимости не получится сделать на С#? хорошо, нельзя именно эти, но можно нахреначить кучу других. и не забывайте, что в C++ есть готовые стандартные средства, которыми можно многократно сократить возможность допущения приведенных ошибок.


Забавно смотреть, как Microsoft игнорирует эти стандартные средства и взамен толкает свои долбанутые технологии SSAL и SRAL. Вероятно, индусов от программирования легче научить SSAL-у чем классу std::string.
Re: Проверьте свой IQ по безопасности кода
От: . Великобритания  
Дата: 26.11.08 22:47
Оценка: +1
kochetkov.vladimir wrote:

> познавательный "разбор полетов" на тему "почему так нельзя делать".

По поводу вопроса 6. Этот микрософт сам любит так дизайнить системы, что
совершенно разные сущности сваливаются в одну кучу. Этот IE-шный document.all,
аттрибуты тегов перемешанные с свойствами js-объектов, name и id элементов. Ещё
меня всегда поражал объект Request в ASP, который по операции Request("blah")
перебирает всё что можно — от http-заголовков, куков до POST data. И оказывается
эту великую идею перенесли и в ASP.NET. А теперь вот c безопасностью борются..
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[5]: видимо, продолжая бессмысленный холивар...
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 27.11.08 15:03
Оценка:
Здравствуйте, vayerx, Вы писали:

V>О какой именно статистике на secunia.com и securityfocus.com идет речь? Приведите, пожалуйста, конкретные ссылки.

V>Попытаюсь ответить априорно, правда, вопросом на вопрос. Какой процент софта, в котором обнаруженны уязвимости, написан/использует код "олдскульникамов" и/или ansi c? От какого объема софта считается процент (от суммарного во всем мире? от неуправляемого? etc?)? Как именно рассчитвается этот процент (кол-во приложений? кол-во пользователей? суммарное время использования? кол-во строчек кода? etc?)?

Бессмысленный холивар на тему уязвимостей
Автор: kochetkov.vladimir
Дата: 27.11.08

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[2]: Проверьте свой IQ по безопасности кода
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 27.11.08 15:05
Оценка:
Здравствуйте, ., Вы писали:

.>kochetkov.vladimir wrote:


>>А теперь вот c безопасностью борются..


Ваши предложения?

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[3]: Проверьте свой IQ по безопасности кода
От: Cyberax Марс  
Дата: 27.11.08 15:08
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

>>>А теперь вот c безопасностью борются..

KV>Ваши предложения?
1) Расстрелять разработчиков Microsoft.
2) Переименовать Windows в "Linux".
Sapienti sat!
Re[3]: Проверьте свой IQ по безопасности кода
От: . Великобритания  
Дата: 27.11.08 23:55
Оценка:
kochetkov.vladimir wrote:

>> >А теперь вот c безопасностью борются..

> Ваши предложения?
Не использовать кривые технологии.
Скажем, в сервлетах сделано всё правильно, есть getParameter который берёт из
query string или из post. И есть getHeader — для заголовков http, и getCookies
для кук. Всё чётко разделено.
А в ASP если брать данные из формы, то нужно писать либо Request("param") —
который берёт откуда попало, либо
Request.QueryString("param").Item || Request.Form("param").Item (и это только в
js так удобно можно).
А уж если вспомнить весь этот ужас с установкой/настройкой, скажем того же IIS и
если сравнить с jetty...
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: Проверьте свой IQ по безопасности кода
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.11.08 02:24
Оценка: +3
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>В ноябрьском выпуске журнала MSDN опубликована статья Говарда и Салливана в которой представлены 10 фрагментов уязвимого кода.


За такой перевод нужно увольнять без выходного пособия .
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Проверьте свой IQ по безопасности кода
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.11.08 04:25
Оценка:
Здравствуйте, ., Вы писали:
.>Request.QueryString("param").Item || Request.Form("param").Item (и это только в
.>js так удобно можно).
Не только.
var param = Request.QueryString("param").Item ?? Request.Form("param").Item;

... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Проверьте свой IQ по безопасности кода
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 29.11.08 13:22
Оценка:
Здравствуйте, ., Вы писали:

.>kochetkov.vladimir wrote:


>>> >А теперь вот c безопасностью борются..

>> Ваши предложения?
.>Не использовать кривые технологии.

Скорее, не использовать технологии криво

.>Скажем, в сервлетах сделано всё правильно


И где сейчас сервлеты?

.>А уж если вспомнить весь этот ужас с установкой/настройкой, скажем того же IIS и

.>если сравнить с jetty...

Чего там ужасного-то?

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[4]: Проверьте свой IQ по безопасности кода
От: Lloyd Россия  
Дата: 29.11.08 14:16
Оценка:
Здравствуйте, alexeiz, Вы писали:

A>и взамен толкает свои долбанутые технологии SSAL и SRAL.


Что, реально есть такие технологии? Жесть!
Re[5]: Проверьте свой IQ по безопасности кода
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 29.11.08 14:37
Оценка: :)
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, alexeiz, Вы писали:


A>>и взамен толкает свои долбанутые технологии SSAL и SRAL.


L>Что, реально есть такие технологии? Жесть!


alexeiz упомянул эти технологии, видимо потому является приверженцем куда более примитивных PEREVIRAL, GNAL и NECHITAL.

Речь о SAL. Собственно, говоря про security-костыли в плюсах, я в т.ч. SAL и имел ввиду.

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.