• Немного на тему разработки веб-архивов

      Веб-архив — это система, которая периодически сохраняет сайт (или часть сайта) в его оригинальном виде. Чаще всего это делается для потомков, чтобы они могли «поиграться, покликать и поностальгировать».

      Основное требование к веб-архиву звучит просто и всеобъемлюще.

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


      Для нас, разработчиков, выражение «полнофункциональная офлайн-версия» звучит очень, очень подозрительно. Можно даже сказать — крамольно звучит. Ведь современный сайт без скриптов не бывает, а скрипты всегда порождают неопределенность в поведении. Но, как говаривал один персонаж: «Не нужно спешить с выводами, не то выводы на тебя набросятся».

      Читать дальше →
    • Дело о пропавшем индексе

        Дело, конечно, не такое интересное, как у Руссиновича, но, надеюсь, будет полезно некотроым разработчикам. Основная цель изложения — показать средства, с помощью которых мы можем анализировать поведение программы на самом низком уровне.

        Итак, имеется приложение, написанное на C#, которое использует .net framework 1.1 (да-да). Приложение после некоторых внесенных изменений начало выбрасывать такое малоинформативное исключение:
        Читать дальше →
      • Незаконченная статья о спаме

          Так уж вышло, что мне пришлось разбираться с проблемой спама. Вот, собственно, с чем получилось разобраться. Текста много, в основном общего характера.

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

          Итак, что называем спамом?

          Спам – это рассылка сообщений, которых пользователи не ожидают получить, одновременно большому числу получателей.

          Массовость – основной признак спама. Что характерно, спамеры не оригинальны в таком подходе. Они лишь следуют пути, отработанному природой за миллионы лет эволюции.
          Читать дальше →
        • Клон

            На ночь глядя обнаружил клон хабрахабра — dev.by

            Я подозревал всегда, что дизайнерско-программистские мысли развиваются всегда в одном направлении, но чтобы так…

            Детали все тщательно заделаны, но общий стиль вполне узнаваем. Даже возле тэгов к записям есть небольная иконка. Только у хабра она прямо стоит, а в клоне — завалилась.

            А когда видишь комментарии к записям, все оставшиеся сомнения исчезают.

            Читать дальше →
          • Про макбук, и как я побывал в офисе хабра.

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

              Что я, собственно, и сделал.

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

              А в офисе — приглушенный свет, диван, огромный эпловский монитор на соседнем столе. Я был в сердце хабра :) Какие-то мелкие вещи на столах, шлем Дарта Вейдера на шкафу, радиоуправляемые машинки в коробке в углу. Потом я понял, что мне сразу там понравилось. Там совершенно отсутствовала официальная атмостфера костюмов и галстуков. Словно приходят они сюда не как на работу, а просто перемещаются в другое место, и жизнь людей продолжается. В общем, уютный офис, в котором работают хорошие люди.

              К комнате находились две девушки из iProLab, одна из которых представилась директором. Работники хабра угостили чаем, рассказали немного, немного поспрашивали. А я был измучен Москвой, работой и простудой, но виду старался не показывать :) Рассказал, что это мое хобби, что я программист, и все такое.

              Потом официальная часть плавно закончилась, мы вышли в холл, и настал исторический момент вручения приза.

              DSC01108-small

              Представительныцы iProLab вручают мне ноутбук. (На фотографии незримо присутствуют еще несколько сотрудников хабра. Попробуйте угадать, где они :)

              Еще раз скажу: спасибо хабру и всем, кто голосовал за меня. Отдельное спасибо спонсору — компании iProLab. И это совсем не реклама. Просто тот самый момент в том самом офисе вспоминается мне каждый раз, когда я вижу этот компьютер. И будет вспоминаться еще долго.

              А потом я ушел. С макбуком. В легком остолбенении, все еще не веря, что это действительно произошло.

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

              До новых встреч, друзья!
            • Мал, да удал: Trojan-Downloader.Win32.Tiny

                Доброго дня всем.
                В сегодняшнем выпуске много технических подробностей. Так что уж извините, если их слишком много :)

                Письмо


                Итак, начинаем. На входе у нас письмо с текстом «Journalist shot in Georgia! See attached video. Password is 123» и с приложенным файлом «Georgia.zip».

                Для более или менее полного анализа нам понадобятся:
                — Самый Лучший дизассемблер в мире IDA
                — Неплохой Отладчик Windbg
                — python 2.5 (строго говоря, подойдет любой, просто у меня 2.5)
                — Visual Studio какая-нибудь и Microsoft SDK, чтобы собрать небольшую программу на с++.
                — упаковщик программ upx
                — ну и чего-то еще по мелочи.

                Распаковываем присланный нам файл, и видим, что наши подозрения оправданы: видео там и рядом не ночевало.
                joined.exe (md5:607af96b03addadf28cf9280701df191)
                Dr.Web: Trojan.Packed.151
                Kaspersky: Trojan-Downloader.Win32.Agent.abqe
                

                Читать дальше →
              • Trojan-Dropper.Win32.Agent.rek: «легальный» руткит

                  В заметке описывается драйвер, который загружается вирусом, рассмотренным в предыдущей части. Драйвер работает на уровне ядра операционной системы, и обеспечивает «привилегированное» прикрытие основной функциональности трояна, которая работает в режиме пользователя (авторское название компоненты — winnt32.dll. Подробнее о ней см. habrahabr.ru/blog/virus/43787.html).

                  Краткое описание.
                  Программа представляет собой nt-драйвер (так же известны, как legacy-драйвера, то есть не связанные ни с каким физическим устройством). Является руткитом: используя механизмы ядра ОС, лишает другие программы доступа к некоторым файлам и ключам реестра.
                  Детектируется касперским как Trojan-Dropper.Win32.Agent.rek. Размер 27548 байтов.
                  Лирическое отсутпление. «Обычный» руткит может использовать недостатки в реализации ОС для сокрытия объектов: файлов, сетевых соединений, и так далее вплоть до секторов жесткого диска. Для этого в простейшем случае делается перехват системного вызова. Системный вызов по сути — это вызов функции, а вызов функции — это передача управления по указанному адресу. Руткит записывает по этому адресу свой код, который трансформирует результат оригинальной функции. К примеру, проверяет, пытается ли кто-то открывать файл с телом вируса, и возвращает какой-нибудь код ошибки, например «доступ заперещен».
                  Руткит перехватывает обращения с реестру и файлам, используя легальные методы самой ОС.
                  Читать дальше →
                • Голая правда

                    Нудные технические подробности, без которых никак не обойтись, выделены знаком параграфа: ¶. Надеюсь, их можно пропускать без потери смысла изложения.

                    Часть первая. Высадка


                    Как это случается часто, в последнее время, новые вирусы приходят прямиком в почту, — быстро, удобно и совсем не надо напрягаться. Последний вирус прислал себя вот в таком вот письме:
                    From: «Shauna Hoover» <olwen.davie@mairie-paris.fr>
                    To: <xxx@xxx.xx>
                    Subject: Paris Hilton

                    Good afternoon, buddy.

                    I found nude Angelina Jolie!
                    See in attachment!
                    Bye.

                    Поначалу сбивает, конечно, с толку, почему тема письма про П. Хилтон, а внутри — про А. Джоли, но… войдем все-же в положение сетевых злодеев! Работа у них нервная, бывает и ошибаются. Хорошо, что хоть вообще письма до адресатов доходят, постарались.

                    Присоединенный файл назвается xjolie.scr.zip, и внутри содержит «как бы» скринсейвер xjolie.scr. Файл подозрительный: кода мало, всего три функции, данных тоже почти нет. На скринсейвер не тянет, и для вируса маловато. Онлайн сканнер касперского обозначает файл, как зараженный вирусом «Trojan.Win32.Pakes.cyu».
                    Читать дальше →
                  • Ошибка резидента

                      Недавно мне пришло письмо примерно следующего содержания:
                      Уважаемый Х. Ваша кандидатура очень нас заинтересовала, поэтому мы бы не прочь познакомиться поближе. Предварительно вам нужно скачать наш фирменный бланк резюме resume.exe, заполнить его, и отослать нам обратно. С уважением, сетевые злодеи.

                      Что характерно, линк на резюме был именно так и написан. resume.exe (не кликайте, ссылка для примера). Они вообще, что ли?

                      Скачиваем, смотрим. Файл размером 159744 байтов, на первый взгляд запакован. Касперскому программа знакома под именем "Trojan.Win32.Srizbi.v".

                      Читать дальше →
                    • Желатин again

                        Продолжение истории исследования «вируса» желатина, он же Storm Worm, он же Peacomm и так далее. Начало см. в прошлом выпуске.

                        Итак, желатин. Хм. Снова.

                        Первое, с чем я столкнулся — отсутствие какой-либо технической информации о желатине. Гугл, естественно, посылает прямиком в википедию [WIKI]. Здесь мы узнаем немногое.

                        1. Вирус включает зараженные машины в ботнет [WIKI1];
                        2. Сеть желатина представляет собой модификацию сети Overnet.

                        Немного истории желатина на русском также содержится в [KASP].

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

                        Пройдя путь в несколько ссылок, я нашел некое описание сети желатина [PPT]. Попытки найти готовые реализации клиентов Overnet также увенчались успехом [KADC]. Одного взгляда на библиотеку KadC было достаточно, чтобы узнать смутные черты дизассемблированного кода валентинистого зловреда. Пусть даже и с некоторыми изменениями, но код KadC вполе может являться базой для желатина. Только этой причиной можно объяснить совершенно наглое высказывание специалистов компании McAffee:
                        «Bot technology is rapidly evolving, often aided and
                        abetted, unfortunately, by the open-source movement».

                        [MCAF], также обсуждается в [CNET1] и [ASHIMMY]. Очень хотелось бы обратить внимание товарищей из McAffee, что неплохо бы им расширить свой взгляд на мир, включив в обвинение бравых ученых из MIT, разработавших Kademlia.
                        Читать дальше →