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

Пользователь

Отправить сообщение

Есть ли серебрянная пуля анализа уязвимостей

Время на прочтение9 мин
Количество просмотров2.6K
В комментариях к моей предыдущей статье amarao задал мне очень хороший вопрос. Он спрашивал, как именно, пользуясь какими правилами, мы ищем уязвимости в программном обеспечении. Приведу часть этого вопроса:
По каким алгоритмам, по каким правилам? Или это всё на наитии «а я знаю что такое mim!»? В этом случае метод не описывает ровным случаем ничего где-то — подумал, где-то нет.

Этим вопросом amarao, вольно или невольно, привлекает внимание к проблеме объективности при оценке уязвимости программного обеспечения, насколько эта оценка зависит, или не зависит, от эксперта, ее проводящего. Вопрос является очень важным, и поэтому часто возникает как у специалистов по безопасности, так и у наших клиентов.
Действительно, если мы не имеем возможности объективно оценить безопасность предлагаемых нам продуктов, то как мы можем выбрать из них один, наилучшим образом удовлетворяющий нашим потребностям? Все производители, естественно, будут клясться, что именно их продукт — самый безопасный из когда-либо созданных. Более того, каждый из них, возможно, будет в это верить, причем, верить с полным на то основанием.
Кажется, что оценка программного обеспечения независимыми компаниями — например, сертификация — может решить эту проблему. Но если не существует объективного средства анализа, то, как мы можем проверить качество самой оценки? Ведь оценка программного продукта в этом случае — сама по себе продукт, услуга.
Несмотря на то, что эти вопросы обсуждаются достаточно часто, я не видел однозначного ответа на них. Но за время моей работы в этой области у меня сложились определенные представления о возможностях современных методик.
В этой статье я хочу проиллюстрировать следующую свою мысль: сегодня не существует алгоритма поиска уязвимостей, который бы гарантировал объективную оценку безопасности. Поэтому доверие к продукту может основываться только на репутации экспертов, проводивших его оценку, и на опыте его эксплуатации (по сути, на репутации взломщиков, которые пытались преодолеть защиту).
Читать дальше →

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

Время на прочтение3 мин
Количество просмотров64K
Один из довольно частых вопросов на различных околониксовых ресурсах — вопрос о том, какую схему разбивки дисков использовать. С виду простой вопрос на самом деле таит в себе множество подводных камней. Если, конечно же, дело касается серверов. На десктопах все гораздо скучнее и серее.

Универсального решения в данном вопросе нету, просто есть некоторые аспекты, которыми следует руководствоваться при выборе схемы разбивки.
Читать дальше

Учим bash-скрипты, пишем Sokoban

Время на прочтение4 мин
Количество просмотров138K
Мне кажется, что на свете еще есть люди, которые хорошо знают несколько языков программирования, но при этом не пишут скриптов для bash, потому что скриптовый язык bash выглядит для них слишком странным. Чтобы доказать, что bash — это несложно, я написала игру Сокобан (или Грузчик, кому как нравится), и хочу рассказать, как она работает.
Краткая справка по bash, скриншот игры, исходный код и ссылка на файл - под катом

Vogue-Tec News #2

Время на прочтение3 мин
Количество просмотров16K

Ежечекпоинтовый обзор нововведений, интересностей и общих событий вокруг плеера из журнала Vogue, а теперь и Playboy.

Содержание


  • Playboy плеер
  • Новый Linux
  • VNC!
  • Корпус, SDIO, I2C и все, все, все...
  • FAQ

Читать дальше →

Плавный переход сети компании на IPv6

Время на прочтение4 мин
Количество просмотров44K
Здравствуйте, хабрасообщество.

Хотелось бы осветить переход сети на IPv6, так как эта теме слабо освещена, тем более на русском языке. Сначала посмотрим на то, как выглядит наша сеть до перехода:

image
Читать дальше →

LogLog — находим число уникальных элементов

Время на прочтение5 мин
Количество просмотров30K
Здравствуй, Хабр! Мы с тобой уже побаловались фильтрами Блума и MinHash. Сегодня разговор пойдёт о ещё одном вероятностном-рандомизированном алгоритме, который позволяет с минимальными затратами памяти определить примерное число уникальных элементов в больших объёмах данных.

Для начала, поставим себе задачу: предположим, что у нас имеется большой объём текстовых данных — скажем, плоды литературного творчества небезызвестного Шекспира, и нам необходимо подсчитать количество различных слов встречающихся в этом объёме. Типичное решение — счётчик с урезанной хеш-таблицей, где ключами будут слова без ассоциированных с ними значений.

Способ всем хорош, но требует относительно большой объём памяти для своей работы, ну а мы с вами, как известно, неугомонные гении эффективности. Зачем много, если можно мало — примерный размер словарного запаса упомянутого выше Шекспира, можно вычислить используя всего 128 байт памяти.

Кажется невозможным?

Один компьютер на двоих (и более) или multiseat на базе Ubuntu 10.04 LTS

Время на прочтение22 мин
Количество просмотров48K
В данной статье рассматривается реализация multiseat на базе Ubuntu 10.04 LTS с аппаратным ускорением. Пример, рассмотренный в этой статье, уже введен в эксплуатацию и работает около полугода в обычном Минском офисе. Описываются проблемы реализации и внедрения готовой системы в работу с точки зрения обычного студента-электроприводчика, который подрабатывает на полставки системным администратором.

Вступление



Вот время работы системным администратором в небольшом офисе при обновлении парка компьютеров появилась небольшая проблема. Современные компьютеры дают уровень производительности, много превосходящий необходимый для офисных компьютеров. Причем реалии рынка таковы, что различия в производительности мало сказываются на цене. И вроде бы дешевые компьютеры на базе Atom по ценовому признаку практически не отличаются от более производительных компьютеров на базе обычных процессоров Amd и Intel (материнская плата с процессором Atom стоит около 100-150 у.е. на май 2010 года, Минск, и та же цена на октябрь 2010 в том же Минске).

Та же ситуация и с жесткими дисками: для офисной работы нет необходимости в объеме диска более 40-80 Гб. Но на рынке такие жесткие диски уже практически не представлены. На момент написания статьи в продаже были жесткие диски емкостью 160 Гб (38$), 250 Гб (39$), 320 Гб (40$), 500 Гб (41$), дальше различия по ценам заметны сильнее. Цена за гигабайт жестких дисков малого объема довольно высока. Та же ситуация и со всеми остальными комплектующими.

Возникает закономерный вопрос, как рационально все это использовать? Давайте подойдем логически — чтобы удешевить систему можно либо купить комплектующие похуже (не сильно удешевляет), либо отказаться от некоторых комплектующих. По сути, в рабочем месте обязательными являются устройства ввода (клавиатура, мышь, планшет и т.д.) и устройства отображения информации (монитор, проектор и т.д.). Остальная часть системы пользователей особо не касается, и от нее можно избавляться. Безусловно, от всего избавиться не получится. Давайте заглянем под крышку системного блока. Тут мы обязательно видим материнскую плату, видеокарту (может быть уже на материнской плате), процессор (тоже может быть на материнской плате) и память. А вот остальные комплектующие уже не так важны. Оптический привод мало востребован, и поэтому его, скорее всего, не будет.
С жестким диском тоже интересная ситуация. Его может и не быть, тогда у нас будет так называемая бездисковая станция. Тут вся информация загружается по сети с сервера (реализация PXE+NFS и немного бубна). Но хочется чего-то большего.
Тогда и возникла идея подключить к одному компьютеру две клавиатуры, две мыши и два монитора и заставить их работать независимо. В зарубежных источниках такие системы называются multiseat.
Но можно на этом и не ограничиваться, а делать бездисковую multiseat-станцию. Этот вариант отлично подойдет для пары multiseat-станций с сервером. В данной статье не рассматривается.

Читать дальше →

PowerShell и аудит безопасности

Время на прочтение8 мин
Количество просмотров66K

PowerShell и аудит безопасности



Приветствую хабранарод! Хочу поделится с вами способом, который может облегчить рутинные будни системного администрирования Win системы, с помощью PowerShell.
В один прекрасный день передо мной встала задача повседневного отслеживания активности пользователей, которые используют сервер терминалов в качестве рабочих станций. Думаю я выражу не только свое мнение, сказав что «Просмотр событий» входящий в состав средств администрирования Windows, является не самым удобным средством отслеживания ситуации на сервере. Да там есть фильтр, по которому можно отсеивать только интересующие нас события, но нет удобного способа который меняет формат отображения данной информации. В результате чего и появилась идея с помощью PowerShell осуществлять парсинг событий журнала безопасности.
Читать дальше →

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

Время на прочтение2 мин
Количество просмотров233K
Один из самых важных факторов при создании уникального и узнаваемого дизайна — цвет. Грамотный выбор цветовой схемы может определить успех или провал сайта. Когда посетитель бросает первый взгляд на веб-страницу, то выбранные вами цвета посылают ему мгновенное сообщение об этой странице. К счастью, существует много инструментов, которые помогут выбрать правильную цветовую схему. Вот пять лучших из них.
Читать дальше →

Еще одна визуализация ряда алгоритмов и структур данных

Время на прочтение1 мин
Количество просмотров20K

Университет Сан-Франциско создал с использованием HTML5 коллекцию визуализаций различных алгоритмов и структур данных. Посмотреть и потыкать кнопки можно вот тут.
Список визуализированных алгоритмов и структур данных со ссылками под катом.
Читать дальше →

Работаем с модулями ядра в Linux

Время на прочтение7 мин
Количество просмотров264K

Ядро — это та часть операционной системы, работа которой полностью скрыта от пользователя, т. к. пользователь с ним не работает напрямую: пользователь работает с программами. Но, тем не менее, без ядра невозможна работа ни одной программы, т.е. они без ядра бесполезны. Этот механизм чем-то напоминает отношения официанта и клиента: работа хорошего официанта должна быть практически незаметна для клиента, но без официанта клиент не сможет передать заказ повару, и этот заказ не будет доставлен.
В Linux ядро монолитное, т.е. все его драйвера и подсистемы работают в своем адресном пространстве, отделенном от пользовательского. Сам термин «монолит» говорит о том, что в ядре сконцентрировано всё, и, по логике, ничего не может в него добавляться или удаляться. В случае с ядром Linux — это правда лишь отчасти: ядро Linux может работать в таком режиме, однако, в подавляющем большинстве сборок возможна модификация части кода ядра без его перекомпиляции, и даже без его выгрузки. Это достигается путем загрузки и выгрузки некоторых частей ядра, которые называются модулями. Чаще всего в процессе работы необходимо подключать модули драйверов устройств, поддержки криптографических алгоритмов, сетевых средств, и, чтобы уметь это правильно делать, нужно разбираться в строении ядра и уметь правильно работать с его модулями. Об этом и пойдет речь в этой статье.
Читать дальше →

Гиперссылки в формате «ed2k://…» и их применение. Часть 1: описание формата файловых ed2k-гиперссылок

Время на прочтение7 мин
Количество просмотров11K
Более десяти лет назад (6 сентября 2000 года, как можно выяснить в Архиве Интернета) на свет появился первый выпуск программы eDonkey2000, представивший миру идею и реализацию гиперссылок в формате «ed2k://…» — удивительный для своего времени алхимический сплав трёх идей: во-первых, хэширования файлов, во-вторых, URI (единой формы идентификации ресурсов), и в-третьих, файлообмена.

Хотя через 6 лет (в сентябре 2006 года) юристам RIAA через суд удалось принудить производителя eDonkey2000 прекратить распространение программы (и даже подменить её сайт зловещим предупреждением о нелегальности файлообмена), формат гиперссылок «ed2k://…» был унаследован и широко используется по сей день во всех файлообменных программах и на всех сайтах, имеющих дело с файлообменными сетями ed2k или Kad. Более того, с тех пор этот формат успел слегка подразвиться по сравнению с вариантом 2006 года. Такова эпическая сила идей, в нём заложенных.

Популярность программ, реализующих формат гиперссылок «ed2k://…», также оказалась немалою. В зените своей славы программа eDonkey2000, название которой действительно происходит от английского слова «donkey» («осёл»), в умах российских пользователей на равных боролась за жаргонное название «ослика» с мега-популярным браузером IE, который обязан этой кличкою лишь случайному сходству транскрипции «иэ» и имени ослика Иа-Иа из историй о Винни-Пухе — а также, быть может, и своему ослиному упрямству в некорректной интерпретации некоторых веб-стандартов. (Приязнь к аниме и понимание «иэ» как японского отрицания «нет» в те годы, как видно, не было распространено.) А главный из идейных «наследников» eDonkey2000 — свободная программа eMule с открытым исходным кодом — до сих пор находится в вершине списка наиболее популярных (по числу закачек) продуктов на сайте SourceForge.

Хэширование файлов. URI. Файлообмен. Каким образом все три эти идеи сплелись воедино в формате гиперссылок «ed2k://…»?

Читать дальше →

«Комиссия за ведение ссудного счета»: как с ней бороться?

Время на прочтение5 мин
Количество просмотров18K
Многие из читателей этой статьи брали кредиты. Как правило, мало кто изучает в деталях все условия кредитного договора, чем весьма охотно пользуются банки. Тем не менее, читать весь договор, включая написанное мелким шрифтом – весьма полезно. Например, можно посчитать, сколько вы переплатите за пользование кредитом (имеется в виду – на самом деле), и за что. Или узнать, какие санкции будут к вам применены, если вдруг что-то пойдет не так. А в некоторых договорах среди прочих услуг можно заметить некую «комиссию за ведение ссудного счета». Вот о том, что это такое, мы сейчас и поговорим.

Приход-расход



«Счетом» в бухгалтерском учете называют совокупность записей, отражающих движение денежных средств, принадлежащих одному лицу, либо обладающих какими-то иными общими признаками. При заключении договора кредитования банк открывает расчетный счет, проще говоря, заводит запись в своей базе данных, в которой отражает то, сколько денег он ссудил клиенту, и сколько из этой суммы клиент со счета снял. Но есть здесь и еще один нюанс.
Читать дальше →

Подборка генераторов CSS

Время на прочтение2 мин
Количество просмотров50K


Не секрет, что писать CSS для многих стандартных кнопок, макетов, etc. бывает весьма лениво. Ниже представлена подборка генераторов CSS (и не только), которая, возможно, в некоторых случаях сможет упростить кому-то жизнь. Многими генераторами можно успешно пользоваться даже без глубоких познаний CSS.

(Осторожно! Много картинок)
Читать дальше →

Linux + 2 ISP. И доступность внутреннего сервера через обоих провайдеров

Время на прочтение5 мин
Количество просмотров15K
Есть замечательная статья, в которой рассказывается, как это делается на Cisco. Но мы не хотим тратить $100500 на приобретение штампованных оттисков «Cisco Systems» на корпусе маршрутизатора.

Описание проблемы

Итак, суть проблемы: имеется два NAT через двух разных провайдеров, локальная сеть, в которой есть сервер и который должен быть публичным и доступным через оба NAT. У провайдеров разные приоритеты: сначала задействуется первый, потом второй.

Если пакет вошёл через первого провайдера, он NAT-ится на наш сервер, обрабатывается, образуется ответный пакет, который выходит через первого провайдера и уходит туда, откуда пришёл первый пакет. Хорошо.

Если пакет вошёл через второго провайдера, он NAT-ится на наш сервер, обрабатывается, образуется ответный пакет, который выходит через первого провайдера… а почему? Потому, что сначала в Linux происходит маршрутизация, а потом уже SNAT. Итак, при маршрутизации пакету назначается следующий узел — шлюз первого провайдера (по умолчанию). Потом происходит отслеживание соединения — conntrack замечает, что этот пакет является ответом на другой, и заменяет адрес отправителя адресом, который выдал нам второй провайдер. А потом пакет направляется через интерфейс первого провайдера на его шлюз. Как правило, провайдер блокирует пакеты, адресом отправителя которых указан адрес не из их подсети. Плохо.

Читать дальше →

Особенности зарубежной типографики

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

Читать дальше →

Базовые рекомендации для повышения безопасности *nix веб-сервера

Время на прочтение3 мин
Количество просмотров25K
Вдохновившись статьей о поиске следов взлома, решил написать статью о предупреждении взлома и базовых шагах для сведения возможности взлома сервера к минимуму.
Все шаги крайне важны, и невозможно выделить самый-самый важный, либо второстепенный.
Данная статья не является пошаговой инструкцией, а лишь списком рекомендуемых шагов.
Читать дальше →

Как работать «в потоке»? Нужны всего 3 ресурса

Время на прочтение5 мин
Количество просмотров120K

Знакомо ли вам такое состояние, когда вы настолько увлечены идеей, что полностью погружаетесь в процесс ее реализации, забывая о времени и окружающем мире? А завершив, испытываете радость и даже счастье? Значит, у вас есть опыт потоковых состояний – особых ресурсных состояний сознания, когда все внимание сфокусировано на цели, и в результате замечательные идеи рождаются сами собой, и время концентрируется, вмещая гораздо больше, чем в обычном состоянии.
Тема эффективности потоковых состояний для работы и творчества уже несколько раз поднималась на Хабре, и в этой статье мы хотим обсудить практическую часть – что необходимо для того, чтобы вызывать это состояние «на заказ»?

Читать дальше →

Модульный подход в JavaScript

Время на прочтение8 мин
Количество просмотров49K
Модульный подход довольно распространённая техника программирования в JavaScript. Обычно его понимают довольно хорошо, но продвинутые техники описаны недостаточно. В этой статье я рассмотрю основы и затрону некоторые сложные приёмы, включая один, по моему мнению, оригинальный.

Основы



Мы начнём с несложного обзора модульного подхода, хорошо известного с тех пор, как Эрик Миралья (Eric Miraglia) из YUI впервые об этом написал. Если вам уже знаком модульный подход, переходите сразу к «Продвинутым техникам».

Анонимные замыкания


Читать дальше →

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность