Как стать автором
Обновить

Комментарии 89

> Имеют ли право на говнокод крупные компании?

Имеют. И им пофиг. Ваш К.О.
Вообще, очень интересно, можно ли добиться ответственности от компании, которая так подставила?
Думаю, в случае создания законодательной базы, дыр в сайтах станет намного меньше.
А кто их будет проверять на соответствие? А кто будет сертифицировать разработчиков? А кто будет решать что является дырой, а что нет? и т.д.
И сколько это будет стоить, и кому достанется право пилить собранное и закрывать нераспиленное?
А кто будет проверять на соответствие? А кто будет сертифицировать разработчиков? А кто будет решать что дыра а что нет? и т.д.
эм. что-то на хабре затуп. сказали что первый пост не ушел, а потом сразу два :)
Крупные компании имеют право написать, что первый пост не ушёл, но опубликовать его, %username%.
Вы потеряли связь с реальностью. Нужно совершенствовать (или отменять) законы, которые позволяют посадить случайного человека за публикацию, которую он не совершал, а не сертифицировать разработчиков.
habrahabr.ru/sandbox/36927/
вот интересная заметка с размышлениями на эту тему
Я намеренно не привожу здесь названия этого ресурса

Надо было тогда исходники/скриншоты тоже подчистить.
А то сейчас набегут скрипт-кидди.
Да я вроде постарался везде вычистить название компании…
1) «politics/7082376» из кода легко гулгится
2) иконки из скриншотов с комментариями
спасибо, доктор. теперь я тоже знаю, что это был за ресурс, хоть пост и почищен
На уязвимости такого вида — не имеют.
А кто бы взялся провести аудит свободного проекта (код)? Может даже кто может патчи подготовить?
мейлрушечка? Бррр…
ага, картинки совсем без палева вставлены

«не будем называть имён, говоря о том что вася виноват»
Фишка в том, что у нас нет ответственности за такую халатность со стороны компаний.
Если бы вы могли подать в суд, и самое главное выиграть, за причинение ущерба, то все было бы по другому…
А так всем пофиг какие неудобства они могут вам причинить собственной халатностью…

Хотя наверно возможно доказать свою не виновность пока дырку не закрыли, продемонстрировав ее.
Главное успеть найти уязвимость, через которую вас подставили, до того как вас лишат компьютера и интернета на пару лет…
Есть серьезные подозрения, что описанная вами уязвимость есть на 999 сайтов из 1000. Я бы не стал сильно надеется, что вебмастеры бросят все свои важные дела и пойдут ковырять код ради того, чтобы Васе Пупкину не дали два года. Дело в том, что проблема то не у веб-мастера. Его основная проблема — это спам в комментариях и он о ней, скорее всего, уже позаботился. Описанная вами проблема — это проблема Васи Пупнкина. И решать ее он должен сам. Антивирус, какой-нибудь плагин к браузеру, не лазить куда попало и тп. Спасение утопающих…
Ага, лечение поноса запретом ходить в сортир…
Простите, и что должен делать т.н. «антивирус, какой-нибудь плагин к браузеру»? Запрещать отправлять данные из формы на другой домен? Как вы себе это представляете?
NoScript… блокирует выполнение скриптов и таким образом блокирует отсылку на другой домен.
НЛО прилетело и опубликовало эту надпись здесь
Серебряных пуль к сожалению не бывает…
Может, я чего-то не понимаю, но я не очень представляю, как можно в эру вебдванолей и аяксов использовать браузер с отключенным javascript'ом.
Ну он же не полностью отключает javascript. Скорее, отфильтровывает нежелательные скрипты и подозрительные http-запросы.
Лично я никогда им не пользовался, но 1 раз видел машину с установленным NoScript. Может, там было так настроено, но там он резал 99% всех скриптов, т.е. буквально на каждой странице приходилось разрешать javascript. Через 10 минут я устал от этого и запустил Хром.
Думаю, что у владельца того компьютера таких проблем не возникало — на всех часто посещаемых им (и безопасных) сайтах разрешения уже стояли.

Кроме того, NoScript не только скрипты запрещает — их можно глобально разрешить и оставить блокировку XSS, кликов в полузакрытый весёлыми картинками iframe и прочего.
Мне кажется ключевые слова здесь «часто посещаемых» «и безопасных». Речь идет о чертовски посещаемом и для многих «безопасном» бгмерзком ресурсе. Так что в данном случае Noscript ни как не поможет, так как рядовой пользователь добавит данный ресурс в исключение.
NoScript по умолчанию включает параноидальную опции «мочить все, что не разрешено». Я предпочитаю включать опцию «Разрешать javascript с текущего домена второго уровня по умолчанию». И 99% НЕвредоносных скриптов работают без доп. телодвижений.
И отпадают все jquery на CDN?
Ну это относительно небольшой whitelist.
Плагин RequestPolicy для FF. Хотя не согласен с тем, что это проблема пользователя.
Ну дык… нахрена нужна полиция?
Грабители и воры это проблема Васи Пупкина…
Короткоствол, какой нибудь нож… не ходить по темным улицам…

Ну вы поняли…
НЛО прилетело и опубликовало эту надпись здесь
В этом и проблема, что вернусь. Речь идет про крупные компании, с большой базой клиентов. Продолжая вашу аналогию, можно представить, что супермаркет вообще один на город. Или в соседнем торгуют отравой и просрочкой. А в третьем сразу на входе избивают и отнимают деньги.

Об этом и речь, что чем больше компания, тем больше должна быть ответственность, т.к. клиенту сложно или невозможно (в случае PSN) найти альтернативу.
НЛО прилетело и опубликовало эту надпись здесь
Они делают деньги. Просто деньги.
К сожалению над программистами часто стоит бестолковое начальство. «Задача сделана? Функционал реализован? Быстро переходим к следующей задаче что бы не отставать от конкурентов», а про уязвимости голова потом будет болеть, когда начальство получит свои премии за работу стахановскими темпами.
Имхо: совковый менталитет у многих еще не вылечен, пятилетку за 2 года хотят выжать.
если программист не готов отстаивать перед начальством позицию того что код должен быть написан правильно, а программа вести себя адекватно и надежно — то это не настоящий программист.
Поэтому настоящий программист ваяет шедевры у себя дома, и про него никто не знает, потому что нет денег на раскрутку.

А когда у ненастоящего менеджера есть миллион на проект, и сроки и дедлайны, то нанимать он будет ненастоящих программистов, которые ему сделают что надо и в срок, а не настоящего, который скажет «Вообще-то перл нынче уже не тот, надо бы начать с того, что перепишем как надо интерпретатор. Если уж делать — так на совесть!»
Определенная ответственность есть — поисковые системы худо-бедно определяют зараженные сайты и фактически закрывают доступ к сайту через стандартные сервисы браузера и несколько ограничивают переходы с поисковой выдачи. Сайты, которым приносит прибыль переходы с поисковиков обычно озабочены отсутствием подобных ограничений.

Проблема в том что уровень компетентности многочисленных сайтостроителей и сайтовладельцев несколько плосковат.

Но опять же регулирование в интернете невозможно, а посему все в руках пользователей. Только краудсорсинг может хоть что-то решать или менять в инете.
Может быть однажды, в далёком будущем, до общества наконец дойдёт, что в интернет с законами лезть просто не нужно.
Интернет не принадлежит ни одной стране, ни одна его часть, кроме тех, которые они там сами и создают, но даже они частью стран не являются и никакие земные законы к ним неприменимы.
И тот факт, что интернет является частью земной цивилизации ни коим образом не означает…

Завершаю мысль и иду спать:
Вполне достаточно уже того, что для регистрации доменов регистраторы получают персональные данные, а данные регистраторов доступны властям (даже немного черезчур) и если кто-нибудь и должен нести ответственность за то, что кто-то насрал в интернетах — то это или владелец обосранного ресурса или владелец хостинга или насравший, но единственное возможное наказание за такое — принудительное смывание, всё остальное уже за пределами интернетов
Хотя нет, лучше вот так:
— За нарушения земных законов в земных странах положены земные наказания (штраф, тюрьма, расстрел)
— За нарушения законов интернетов в интернетах положены наказания интернетов (кик, бан, перманентный бан)
— За нарушения земных законов в интернетах наказывать стоит в интернетах, ибо если я нарушу закон США, находясь в России, то и судить меня будет российский суд по российским законам, а не США!
— За нарушения законов интернетов вне интернетов последним тоже не стоит лезть не в своё дело (ибо если я в реале назвала админа форума дураком это не повод для бана)
За кражу денег через интернет нужно банить на сайте банка?
Как ни странно, но возможно это было бы эффективнее. Тогда бы банку все таки пришлось заниматься предотвращением краж, а не просто «мы дело передали в милицию — теперь они пусть разбираются, мы не виноваты».

По аналогии, если вы идете темной ночью и надеетесь на милицию — то есть риск, что вас ограбят. Но если вы твердо знаете, что милиция вас не защитит, то вы передвигаться будете на броневике, следуя за артиллерийским огнем, который все возможные угрозы перед вами уничтожит. И тогда шансов дойти до дома без приключений — уже больше.
Такое путешествие — приключение само по себе.
<сарказм>
Нет, конечно стоит сажать в тюрьму за такое.
Вот мы сейчас зарядим в вашу винду троянчика, затунелимся через него и переведём себе денег со Василия Пупкиновича, а вы за нас посидите лет пять, ибо улики мы за собой уберём.
</сарказм>
Забанить педофила на педосайте?
Вам этот педофил так сильно мешает? Забаньте его у себя в блоге.
Может просто реферер проверять? Тогда с помошью айфрейма сложно будет такое сделать, так как заголовки таким способом не подделаешь, а аякс не сработает, а на сервере нет кук того сайта.
Многие из персональных межсетевых экранов и анонимизирующих proxy-серверов вырезают Referer, как потенциально небезопасный заголовок. Поэтому сервис может не работать у некоторых пользователей.
=) Многие онлайн банкинги проверяют реферер. Часто еще видел что имена полей генерируют как вы хеш сгенерили.
НЛО прилетело и опубликовало эту надпись здесь
>Давайте порассуждаем на эту тему, а может и предпримем какие-то действия
Имеют. Ошибаются все. Права на ошибку не имеют очень немногие.
Должно быть наказуемо. Действуйте.
Зафиксируйте ваше общение с компанией. Постарайтесь выяснить имена конкретных людей и их начальников.
Не реагируют — публикуйте уязвимость.
Не помогает — демонстрируйте серьезность проблемы. Запостите 1000 комментариев «Закройте уже дыру наконец!» и ссылку на описание проблемы.
(Только с законом будьте осторожны.)

Примерно imageтак.
То есть так.
>в котором по определенному алгоритму формируется определенный набор символов

Этаж надо было так забористо банальный токен назвать! А CSRF на уровне посетителя вполне себе неплохо лечится кнопкой «Выход» ;) Нисколько не хочу оправдывать говнокод в приложении, но пользователю и самому неплохо бы о себе позаботиться.
Каким образом «Выход» лечит? Во-первых, многие не пользуются им (а для злоумышленника часто важно чтобы многие попались, но не обязательно, чтобы уж все). А во-вторых, зайти на «плохой» сайт можно и будучи залогиненым на «хорошем» сайте, просто потому что ты с ним еще работаешь.
Вы действительно думаете что большинство пользователей что-то знают о дырах на сайтах и как их используют? Они знают, как зайти в почтовый ящик, знают, как сообщение на вконтакте отправить и все. И даже представления не имеют, что кто-то их может так подставить…
А «Выход» зачастую жмется только для того чтобы в ваш аккаунт не залез тот, кто следующий сядет за компьютер
НЛО прилетело и опубликовало эту надпись здесь
имеют. задача проекта работать и приносить дЭнги, а не быть красивым и тешить эго разраба.
Настолько баян, что даже баян заплакал.
Название топика и посыл немного неверный. Уязвимость такого рода — это не говнокод, это критический баг в системе, в части ее функционала, так как в таких родах системах — надлежащая безопасность- сама по себе часть функциональности.

Под словом говнокод я бы понял — код, написанный без комментариев, спагетти код, код, отрицающий грамотные и уместные паттерны, код, имеющий high coupling/low cohesion, и все такое прочее. На такое любая компания имеет право, так как это внутреняя часть системы, и вам нет дела до всего этого — если до вас это недопросачивается.

Уязвимости же, позволяющие одному пользователю писать сообщения от имени другого — это не гавнокод. Это критические ошибки архитектуры \ баги, не больше и не меньше.
Имеют. Ты когда регистрируешься на каком-нибудь сайте, всегда соглашаешься с правилами. А там много чего интересного пишут.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
всякие сессионные токены — слишком сложно. если мы исходим из предположения, что нам достаточно передавать в форму что-то известное только данному пользователю, то это может быть всего-лишь хеш хеша пароля.
Буквально на днях одно обстоятельство заставило меня задуматься над одной вещью:
Незакрытая вкладка веб-интерфейса той самой почты в интернет эксплойтере за пару часов создала аж полтора мегабайта паразитного ИСХОДЯЩЕГО (!!) GPRS-трафика.
«В интернет эксплойтере» — это типа вы так Интернет Эксплорер опустили? :-D
Я недавно стал замечать тикание компьютера. Иногда делает так «тик-тик» каждую секунду. Сначала думал, что что-то обрабатывает, а потом заметил, что тикание идет только когда открыто мыло.ру, это каждую секунду идет синхронизация с почтовым сервером.
Немного новым годом повеяло:

> Этот год стал знаковым в области проблем информационной безопасности.

Этот год был трудным для нашей страны в интернетах.
НЛО прилетело и опубликовало эту надпись здесь
Они, похоже, так ничего и не сделали
Вы переворачиваете с ног на голову. Если работает презумпция невиновности, это обвинение должно доказать, что уязвимостей на этом сайте или на компьютере пользователя нет. Иначе наличие вины подозреваемого они этим не докажут. А если презумпция не работает, или у суда некомпетентные/продажные эксперты, это лишь один из многих возможных сценариев экспуатации этой «уязвимости», лечить надо болезнь а не симптомы.
И да, в нормальном обществе проблемы говнокода — проблемы компании, а не её пользователей. А формулировка некорректная, что за «право» такое? Если их устраивают миллионные иски, пусть так и будет. А если исков и нет, чего им вообще чесаться-то?
Как мне кажется, схема настолько сложно реализуема и гипотетическая цель настолько не соответствует затратам, что вряд ли кто-то станет ее использовать. Есть и более простые способы анонимно постить комменты)
я только не понимаю, чем поможет токен? В чем проблема тем же JS-скриптом сначала вызвать страницу с этого ресурса (конечно, не называемого) с нужным токеном, заполнить нужные поля, а потом просто отослать форму на нужный адрес?
По-мойм это проблема пользователя, раз он заходит на сайты, на которых висят такие вот скрипты.
НЛО прилетело и опубликовало эту надпись здесь
Как я понял, в статье идет речь о том, что пользователь сам каким-то образом зашел на страницу злоумышленника:
Теперь атакующему необходимо сделать так, чтобы когда пользователь заходит на его сайт

на которой, что логично, размещен тот самый код. И вот JS запрашивает нужную страницу со всеми необходимыми токенами пользователя, вставляет ее в свой iframe, заполняет поля и отправляет. Серверу крайне проблематично определить, исходил ли этот запрос от зловредного скрипта или от самого пользователя. Поэтому, мне кажется, первый шаг к противодействию — не заходить на такие сайты.
На таких сайтах в шапке крупными буквами написано: «Осторожно, вредоносный скрипт в теле страницы!» :)
примерно так :)
но ведь в передаваемом запросе тому же серверу мыло.ру тоже нет переменной «badscript» => «true», а практически все заголовки можно подменить
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Фишка тут md5($_SERVER['REMOTE_ADDR']+'46d6dfvlw8e9hb');
Есть один момент. Если примем, что крупные компании не имеют права пренебрегать безопасностью пользователей, то встанет вопрос — как определить порог, после которого компания считается «крупной», а потом предотвратить вывод информационных ресурсов в мелкие дочерние компании для избежания ответственности за безопасность пользователей. И ведь не запретишь создавать дочерние компании и им не запретить владеть информационными ресурсами.
Как вариант — может стоит немного доработать закон о персональных данных и применять его более широко и гибко? В данном случае это будет означать необходимость защитить сессию пользователя, раз он зарегистрировался и предоставил свои идентификационные данные, то сессию обмена данными с ним необходимо защищать. Такой вариант избавит от необходимости ранжировать компании. А если принять общероссийский стандарт защиты данных и сделать его доступным для использования, то принуждать к этому отдельные компании не придется.
Еще один вариант — это чтобы компании проводили среди своих программистов подобные лекции. Тогда бы люди лучше понимали какой код они пишут и к каким последствиям это может привести.
А на форумах такое возможно? (CSRF)
Да, им пофиг. И это как правило указано: «Мы — такие то, не несем НИКАКОЙ ответственности за ЛЮБЫЕ Ваши действия и последствия, которые могут возникнуть в результате Ваших действий и т. п.»

Получается правильным один вариант: не использовать продукты с такими формулировками О_о
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации