DiBR
обычная кошмарная
домашняя страничка
Ежекакполучится околокомпьютерное обозрение
 
  <<<  предыдущий30 июля 00 годаследующий  >>>  
   Последний выпуск      Архив      Ссылки      Полезности      humor.filtered      О сайте   
         
- RU.OS.CMP (2:5015/42) --------------------------------------- RU.OS.CMP -From : *ghazan@postman.ru                  2:5020/52  Tue 18 Jul 00 07:23To   : Mike Timonov                                   Wed 19 Jul 00 14:22Subj : Re: Hадоел inprise/borland---------------------------------------------------------------------------
From: *ghazan@postman.ruReply-To: *ghazan@postman.ruHello! "Mike_Timonov" wrote:>>  FU> Да. А главный драйвер, вокруг которого все вертится - драйвер>  FU> Microsoft Mouse. :)>>   А кстати, Microsoft выпускает моpе pазного софта и только один пpедмет>  хаpдвеpа - вышеупомянутую мышь. Символично, пpавда?Один студиозус, спрошенный на этот же предмет, гордо ответил: "Из железа M$выпускает клавиатуру и Loopback Adapter".С уважением,                         ghazan@postman.ruГеоргий Хазан.

         
          Выловлено в просторах FidoNet :-) И правда - из софта выпускаютпочти всё, а из железа - клавы, мыши, да... loopback adapter :-)
         
shutdown
Микрософтоненавистнических страничек сейчас развелось ну очень много,но вот интересных среди них как бы очень мало. эту страничку я сначала было принял за одну из тех, которых много, но потомпонял, что ошибался. Во первых, не такая уж она и MS-hate (хотя, конечно,ie4 и виндоуз там ругают предостаточно), во вторых - неожиданно большаяи проработанная, в третьих... в-общем, рекомендую. Для раскачки -windows 2001 preview,для догонки -галерею GUI, от win 1.01до AmigaOS или, скажем, GEOS.
         Есть такой жанр, сродни эпистолярному - называется "перепискав средствах массовой информации". Особенно тяжелый случай - перепискав разных изданиях :-)
         На меня сослался Igor's digest,на тему дырки в outlook express, ну, и поразоблачал заблуждения немного.Не спорю - заблуждаюсь я часто и регулярно, но стараюсьделать это не слишком глубоко. :-) А теперь - к заблуждениям :-)
         "Заблуждения, если быть точным, на самом деле два. Первое - очевидное. Проблема из серии buffer overflow не имеет отношения ни к самим строкам, ни к их представлению. Появилась эта весьма дорогостоящая человечеству прореха исключительно из-за особенности реализации компиляторов. Язык Си в данном случае - не единственно "опасный". Вот решили, не подумавши о последствиях, размещать локальные переменные функций (говоря терминами Си - автоматические переменные) в стеке. Вариант быстрый, эффективный и... очень ненадежный"
         Л-логично. Но. Я и не говорил, что buffer overflow однозначно связан с Сишнымистроками - только лишь заявил, что большой процент случаев "перееха буфера"связан именно со строками. Ну, исторически так сложилось что-ли,что стандартная реализация сишных строк способствует их overrunу и прочимприятностям. Далее. Реализация - это хорошо, но. Попробуйте-кав, скажем, Паскале, с включенной проверкой выхода за границы массива,сделать переполнение буфера, желательно без использования "сторонних" функций(включая системнное API - ему-то пофиг куда писать, оно само на Сях писано).Скорее всего это таки получится сделать,но не без применения каких-либо ухищрений. А теперь покажитемне реализацию Си, в которой я не смогу затереть "соседний" массив,выйдя за пределы или поэкспериментировав с указателями. Впрочем, опять-таки,возможно такие и есть, но можно ли их называть "языком Си", учитываячто "грязные трюки" с указателями в Си есть штатная и разрешенная вещь.
         Далее. Я в курсе про стек, и в курсе про адрес возврата. Даже соглашусь,что возможность достучаться до адреса возврата через переполнение чего-либоесть куда большая дыра в идеологии, чем какие-то сишные строки инепроверка границ массива. Но - пока вокруг нас винды борются с юниксами,адрес возврата в стеке - объективная реальность, которая, как мы помним, существуетнезависимо от нашего сознания. Вот будут распространены системы, где переполнение буфера не будетприводить к "срыву стека" - тогда уж разберемся.
         "Второе заблуждение связано с тем, что в языке Си строк нет вообще. Керниган и Ричи ничего не решали: базовый тип char* является обычным указателем на память с увеличением/уменьшением на указанное количество sizeof(char) (не единиц! :-) при арифметических операциях над ним. Вот и все. Ассоциировать этот тип со строками не имеет ни малейшего смысла, ибо язык Си есть язык очень низкого уровня. Представление строк, дат, реляционных кортежей, содержания web-страниц и т.п. находится в ведении только лишь разработчиков."
         А тут фигня вот в чем. В том, что строки в языке есть.Чтобы в этом убедиться, достаточно прочитать любую книжку по Си - там будет глава"работа со строками", с обязательными strcat(), strcpy() и прочим. Вот"реляционных кортежей" действительно нет, да и вообще, структурсложнее числовых да адресных штатно не предусмотрено. А значит,дыры в реализации "реляционных кортежей" или библиотек работы со сложнейшей структуройcomplex (состоящей из {double re; double im;})будут проблемой разработчиков, но не языка. А вот char*... Посколькуstr*() функции стандартно входят в clib - то и строки в Си есть.Поскольку эти странные создания типа char* сплошь и рядом передаютсятаким необходимым функциям, как fopen(), sprintf() и что совсем плохо - sscanf()- отказаться от них среднему программисту и написать что-то свое будетморально тяжело. Ну, а что не только программисты готовы пользоватьсятем, что "пусть кривое, но уже есть и стандартно", чем искать прямоено нестандартное или писать своё - известно.Ну, а раз уж создатели языка изначально заложили потенциально опасную реализацию"стандартных" строк, то результат более-менее очевиден. И пусть естьstrn*(), и пусть в том же *scanf можно явно ограничивать длину вводимой строки -но это же нужно помнить, держать в голове, и не ошибаться при наборе цифири.А точнее - обвешивать все вызовы кружевами из sizeof(s) и... даже не знаюуж, как политкорректно вставить sizeof внутрь форматной строки sscanf.
         А любое усложнение жизни либо отвергается (ну зачем тогда вообщесделали gets(), когда fngets() заведомо безопаснее и столь же функционален),либо приводит к новым ошибкам.
         И даже если святые К и Р, придумывая str*() и gets() рассчитывали на то,что программисты быстренько поймут их нежелательность и нарисуют свою,безопасную, обвязку для всего этого, эти ожидания явно не сбылись.Да и с чего бы им сбываться?
         А веселье продолжается. Великий и могучий браузер Netscape(разработчики которого, похоже, не в курсе, что сеть может быть ресурсом,который надо экономить - как вам попытки загружать анимированный баннер RLEв цикле, непрерывно - просто потому, что expiration у него маленький?А весьма [странное] занятие, на котором я его ловлю регулярно -вытягиваем страничку, на ходу показываем, вытянув полностью - чистим экран и вытягиваем ещераз. После чего уже окончательно показываем. Или говорим, что, мол, эта страничка(которую я даже почти успел прочитать) есть result of POST operationи чуток outdated, поэтому нажмите, плз, reload. Не на всех серверахэто помогает. Да - никаких meta refresh нет, и в ie все ok).
         Ну, да ладно. Я не о том. Я опять о буферах и переполнениях.В NN, версий от 3.0 до 4.72, а равно и в mozilla M15,естьпереполнение в декодере jpeg.Что, вполне вероятно, можно будет использовать для атаки через картинку :-)
         В исходник я не вглядывался (а по патчу не поймешь - просто добавляется проверка),так что может дело и не в строках, но что половину таких дырможно было бы предотвратить сменив язык (или еще во времена К и Р внеся в Синужные ограничения) - я уверен. Да, ограничения - не в реализацию, а в спецификацию.И не думайте, что я сторонник Паскаля - сам пишу на Си :-)
         И АОЗТ dz online на что нибудь полезно. Хотяи нравится оно мне все меньше и меньше.
         Оказывается, ICQ (вы только не обижайтесь, если я очевидную вещь скажу -у меня-то icq нет, могу и поудивляться, да и позлорадствовать) теперь не совсем freeware.На днях AOL заставила пользвателей ICQлюбоваться рекламными баннерами. Долго я ждал этого момента, и дождался :-) А что ещевеселей - пользователей никто даже не спросил. Просто произошел очереднойAutoUpdate, и на миллионы компьютеров сам закачался и установился новый icq,уже с рекламным движком. И делай что хочешь.
         А так ведь можно, кстати, и что-нибудь повеселей закачивать. Я даже не имею в видусобственно AOL (впрочем... был какой-то случай трояна в очень распространеннойпочтовой программе), а, скажем, хакера-тинейджера из вашей локалки,научившегося спуфить dns-reply и вовремя подставившего под автоапдейт свой сервер...
         Не люблю бесплатности. Точнее, люблю конечно, но приходится всегда держать в голове,что бесплатно, хорошо и надолго - не бывает. Или плохо, или ненадолго.Или - небесплатно.
         ...дело DOS (не путать с DoS!) живет и побеждает. Роутеры "под дос"(точнее, под ka9q) делают, httpd запустить тоже можно, nat есть...да и с клиентской стороны прогресс не остановился. Arachne- такой маленький, но симпатичный, браузер под ДОС, живет и обновляется.Сам удивляюсь - дос практически мертв, но тем не менее живет и развивается.
         Счетчик Rambler недавно (наконец-то!) автоматизировал отсекание"хитов" с открытых прокси. Сколько лет хакеры изощрялись в накрутке,и только недавно... :-)
         Прверяют нехитро и довольно надежно. Я когда-то предлагалскриптом искать на альтависте "proxy list", выковыривать все, что похожена адрес:порт, и сканировать их, здесь же сделано чуть более эффективно.
         
         
From:
To:
Subj: Re: [BANNERS] New rules
-----Original Message-----
From: Aleksey Zvyagin <zal@zal.pp.ru>
To: list@banners.net.ru <list@banners.net.ru>
Date: 28 июля 2000 г. 21:02
Subject: Re: [BANNERS] New rules

>Возникает закономерный вопрос: как Рамблер определяет, что такой-то IP -
>публичный прокси, а вот такой - не публичный? Можно, конечно, каждому IP
>адресу проверку устраивать - сканировать у него все TCP порты и потом на
>каждый делать попытку взять какой-нибудь URL.

      1) Проверяются на открытость прокси, честно сообщающие, что они прокси(посредством заголовка X-FORWARDED-FOR, пусть даже обнуленного). Достаточнопроверить один стандартный порт 3128 и два стандартных де-факто порта - 80 и8080. Причем делать это однократно, результат (как положительный, так иотрицательный) заносить в базу данных, перепроверку проводить, скажем, раз внеделю-месяц.

     2) Проверяются на "проксизм" хосты, с которых приходит статистическиповышенное число хитов в счетчики. Можно примерно прикинуть, сколькосчетчиков Рамблера загружает отдельно взятый белковый клиент, и припревышении такового числа вдвое-втрое - проверить хост на вшивость, все потем же стандартным портам.

     Таким образом удастся отсеять, я полагаю, порядка 97% открытыхпрокси-серверов, зацепив при этом максимум сто-двести человек, виновных поопределению в кривой настройке локального WinGate'а или аналогичного софта.;-) Эффект борьбы, я полагаю, мы увидим уже через две недели.

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

--
Сергей Аксенов, webmaster@film.ru
Фильм.Ру, http://www.film.ru
ВидеоГид(R), http://www.videoguide.ru/

=================[ http://www.banners.net.ru ]=====
To unsubscribe, e-mail: list-unsubscribe@banners.net.ru
For additional commands, e-mail: list-help@banners.net.ru
         Хи-хи-хи :-) Неужели правда в SCO Unix есть такая дыра?Презабавнейшая штучка.
         "It seems that I have been hit by bug in HTFS filesystem on SCOOpenserver 5. The problem is that You could do unlink("..") and thisoperation will be successful (if You have permissions) corruptingfilesystem. I have discovered this anomaly when investigating constantsystem crashes when users were deleting mailboxes in Cyrus imap server1.5.2 There was bad code in imapd that was trying to delete ".." whenremoving mailbox (newer versions of imapd are fixed). So usual user mayseverely damage filesystem by doing unlink("..") in subdirectories, wherehi has permissions to do this. I had reported this bug to SCO, but theyreplied that I have problems with hardware."
         А запаяв пару резисторов на плату GeForce256 -можно получить почти настоящую Quadro.По разным тестам прирост произвидительности - от 1-2% до 6-7 раз.Похоже, нет в мире ничего, что нельзя было бы "разогнать"при помощи кувалды, паяльника и какой-то матери.






Архив dibr