Pull to refresh
0
0
Send message

Как работает компьютер: глубокое погружение (на примере Linux)

Level of difficultyHard
Reading time48 min
Views154K



Введение


Я делала много вещей с компьютерами, но в моих знаниях всегда был пробел: что конкретно происходит при запуске программы на компьютере? Я думала об этом пробеле — у меня было много низкоуровневых знаний, но не было цельной картины. Программы действительно выполняются прямо в центральном процессоре (central processing unit, CPU)? Я использовала системные вызовы (syscalls), но как они работают? Чем они являются на самом деле? Как несколько программ выполняются одновременно?


Наконец, я сломалась и начала это выяснять. Мне пришлось перелопатить тонны ресурсов разного качества и иногда противоречащих друг другу. Несколько недель исследований и почти 40 страниц заметок спустя я решила, что гораздо лучше понимаю, как работают компьютеры от запуска до выполнения программы. Я бы убила за статью, в которой объясняется все, что я узнала, поэтому я решила написать эту статью.


И, как говорится, ты по-настоящему знаешь что-то, только если можешь объяснить это другому.


Более удобный формат статьи.

Читать дальше →
Total votes 151: ↑151 and ↓0+151
Comments36

История одного взлома 1С или проверьте вашу систему на безопасность

Reading time12 min
Views43K

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

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments23

Расшифровка трассировщика лучей размером с открытку

Reading time12 min
Views49K

«Он снова это сделал!», — вот, что первое пришло мне в голову, когда я посмотрел на оборотную сторону флаера Pixar [1], полностью заполненную кодом. Скопление конструкций и выражений была подписана в правом нижнем углу не кем иным, как Эндрю Кенслером. Для тех, кто его не знает, скажу: Эндрю — это программист, придумавший в 2009 году 1337-байтный трассировщик лучей размером с визитку.

На этот раз Эндрю придумал нечто более объёмное, но с гораздо более интересным визуальным результатом. Так как я закончил писать свои Game Engine Black Books про Wolf3D и DOOM, у меня появилось время на изучение внутренностей его загадочного кода. И почти сразу меня буквально очаровали обнаруженные в нём техники. Они сильно отличались от предыдущей работы Эндрю, основанной на «стандартном» трассировщике лучей. Мне было интересно узнать о ray marching, функциях конструктивной объемной геометрии, рендеринге Монте-Карло/трассировкой пути, а также множестве других трюков, которые он использовал, чтобы ужать код в такой небольшой кусок бумаги.

Читать дальше →
Total votes 114: ↑113 and ↓1+112
Comments56

Мой MikroTik – моя цифровая крепость (часть 1)

Reading time10 min
Views124K
В статье рассмотрены различные подходы к организации практической безопасности сетей, построенных на оборудовании MikroTik, в том числе при помощи дополнительного открытого программного обеспечения, расширяющего имеющиеся штатные возможности, что в комплексе позволяет качественно администрировать сетевые средства, а также своевременно реагировать на различные угрозы информационной безопасности.
Читать дальше →
Total votes 67: ↑64 and ↓3+85
Comments101

Про установку и использование LineageOS 16, F-Droid

Reading time127 min
Views317K
Предлагаю вашему вниманию инструкцию как оптимально (по моему мнению) перейти на свободное программное обеспечение при использовании смартфона на примере операционной системы LineageOS (далее сокращённо LOS) и приложений из F-Droid.

Я думаю, что это статья будет вам интересна, даже если вы не можете установить себе LOS, так как в данной статье также рассмотрены стандартные настройки Android, настройки и методика использования полезных приложений, магазин приложений F-Droid, разрешения Android, которые нельзя ограничить и другие, возможно полезные для вас нюансы.
Читать дальше →
Total votes 74: ↑72 and ↓2+70
Comments192

Самодельный миниатюрный лазерный гравер на Arduino Uno

Reading time4 min
Views36K

Полагаю, что проект, о котором я хочу рассказать, будет интересен всем, кто занимается электроникой. А именно, речь идёт о миниатюрном лазерном гравере, с помощью которого можно наносить изображения на картон, на дерево, на виниловые наклейки и на прочие подобные материалы. Идею проекта я почерпнул из этого руководства, сделав кое-что по-своему.
Как сделать гравер?
Total votes 41: ↑38 and ↓3+42
Comments21

Полезные консольные Linux утилиты

Reading time13 min
Views115K

В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.


Осторожно много скриншотов. Добавил до ката утилиту binenv.


binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.

Читать дальше →
Total votes 96: ↑92 and ↓4+110
Comments110

Установка Redmine за 15 минут (RVM + RoR + Unicorn + Nginx)

Reading time10 min
Views29K

В общем задача звучала такустановить Redmine на сервер, где веб-сервер на nginx.

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

Читать далее
Total votes 4: ↑0 and ↓4-4
Comments6

5 open-source систем управления событиями безопасности

Reading time5 min
Views37K


Чем хороший безопасник в ИТ-сфере отличается от обычного? Нет, не тем, что он в любой момент времени по памяти назовёт количество сообщений, которые менеджер Игорь отправил вчера коллеге Марии. Хороший безопасник старается выявить возможные нарушения заранее и отлавливать их в режиме реального времени, прилагая все силы, чтобы не было продолжения инцидента. Системы управления событиями безопасности (SIEM, от Security information and event management) значительно упрощают задачу быстрой фиксации и блокировки любых попыток нарушений.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments1

Дешёвые и дорогие батарейки ААА

Reading time3 min
Views347K
Реклама добилась своего: большинство покупателей уверены, что батарейки Duracell и Energizer значительно лучше других. Чтобы проверить, так ли это, я протестировал 20 видов щелочных (alkaline) батареек AAA — от самых дешёвых до самых дорогих.


Читать дальше →
Total votes 369: ↑363 and ↓6+357
Comments388

Презентация как код, или Почему я больше не пользуюсь Powerpoint-ом

Reading time8 min
Views71K

Кажется, мне довелось сделать десятки презентаций для коллег, заказчиков и публичных выступлений за мою карьеру в IT. Многие годы Powerpoint как средство изготовления слайдов оставался для меня естественным и надёжным выбором. Но в этом году ситуация качественно изменилась. С февраля по май мне довелось выступить на пяти конференциях, и слайды к докладам надо было готовить в сжатые сроки, но качественно. Встал вопрос о делегировании той части работы, что касается визуального дизайна слайдов, другим людям. Как-то раз я попытался работать с дизайнером, пересылая файлы .pptx по почте, но работа превратилась в хаос: никто не знал, какая версия слайдов «самая новая», а вёрстка «ехала» по причине различия версий Powerpoint и шрифтов на наших машинах. И я решил попробовать что-то новое. Попробовал, и с тех пор не думаю возвращаться к Powerpoint.

Читать дальше →
Total votes 129: ↑122 and ↓7+115
Comments115

В ОС Windows обнаружена критическая RCE-уязвимость уровня EternalBlue

Reading time2 min
Views61K
Стало известно о критичной RCE-уязвимости в Службах Удаленных рабочих столов RDS (на более ранних ОС – Служба Терминалов TS ) в ОС Windows (CVE-2019-0708), которая при успешной эксплуатации позволяет злоумышленнику, не прошедшему проверку подлинности, осуществить удаленное выполнение произвольного кода на атакуемой системе.



Cогласно информации, предоставленной компанией Microsoft, для успешной эксплуатации необходимо лишь иметь сетевой доступ к хосту или серверу с уязвимой версией операционной системы Windows. Таким образом, в случае если системная служба опубликована на периметре, уязвимость можно проэксплуатировать непосредственно из сети интернет, без дополнительного способа доставки. Рекомендации по мерам защиты под катом.
Читать дальше →
Total votes 49: ↑46 and ↓3+43
Comments30

Проблема Windows не в частоте обновлений, а в процессе разработки

Reading time15 min
Views63K
Глючные обновления указывают на более глубокую проблему


Windows 10 на презентации в Токио, июль 2015 года

Очевидно, обновление Windows от 10 октября 2018 года было не самым удачным. Быстро появились сообщения о потере файлов на компьютерах, а Microsoft приостановила распространение обновления. С тех пор баг исправили, сейчас идёт тестирование нового апдейта перед его повторным выпуском.

Это не первое обновление Windows, в котором возникли проблемы — в предыдущих апдейтах мы видели такие вещи, как значительные аппаратные несовместимости — но оно явно стало худшим. Большинство из нас знает о резервном копировании, но в реальности многие данные, особенно на домашних компьютерах, не имеют бэкапа, и их исчезновение весьма неприятно.
Читать дальше →
Total votes 77: ↑69 and ↓8+61
Comments423

Сервисы для проверки навыков тестирования на проникновение

Reading time3 min
Views89K


В прошлом топике я опубликовал обзор дистрибутива PentestBox со ссылками и описанием входящих в него утилит. Надеюсь вам хватило времени ознакомиться с ними и изучить функционал. Сегодня я предлагаю вам несколько сервисов для тестирования своих навыков на практике. Это специализированные сервисы, абсолютно легальные и позволяющие всем желающим проверить свои знания и умения.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments3

Весь веб на 60+ FPS: как новый рендерер в Firefox избавился от рывков и подтормаживаний

Reading time16 min
Views67K
До релиза Firefox Quantum остаётся всё меньше времени. Он принесёт множество улучшений в производительности, в том числе сверхбыстрый движок CSS, который мы позаимствовали у Servo.

Но есть ещё одна большая часть технологии Servo, которая пока не вошла в состав Firefox Quantum, но скоро войдёт. Это WebRender, часть проекта Quantum Render.



WebRender известен своей исключительной скоростью. Но главная задача — не ускорить рендеринг, а сделать его более плавным.

При разработке WebRender мы поставили задачу, чтобы все приложения работали на 60 кадрах в секунду (FPS) или лучше, независимо от размера дисплея или от размера анимации. И это сработало. Страницы, которые пыхтят на 15 FPS в Chrome или нынешнем Firefox, летают на 60 FPS при запуске WebRender.

Как WebRender делает это? Он фундаментальным образом меняет принцип работы движка рендеринга, делая его более похожим на движок 3D-игры.
Читать дальше →
Total votes 123: ↑121 and ↓2+119
Comments95

20 приёмов работы в командной строке Linux, которые сэкономят уйму времени

Reading time9 min
Views237K
Тема полезных приёмов работы в терминале Linux неисчерпаема. Казалось бы — всё устроено очень просто: приглашение оболочки, да введённые с клавиатуры команды. Однако, в этой простоте кроется бездна неочевидных, но полезных возможностей. Именно поэтому мы регулярно публикуем материалы, посвящённые особенностям работы в командной строке Linux. В частности, сегодня это будет перевод статьи, автор которой увлечён экономией времени через повышение продуктивности труда.



Если вас интересует работа в командной строке Linux — вот некоторые из наших материалов на эту тему:

Читать дальше →
Total votes 82: ↑46 and ↓36+10
Comments87

Околоайтишные подарки из настольных игр

Reading time4 min
Views22K


Привет!

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

Осторожно, трафик.
Читать дальше →
Total votes 24: ↑20 and ↓4+16
Comments44

Космическая демосцена: Вселенная умещается в 64 килобайта

Reading time4 min
Views74K


Демосцена всегда поражала воображение. В 1994, 2004, 2017 годах разработчики снова и снова всех удивляют, превращая файл размером 64 килобайта в нечто немыслимое. Демо стало не просто асаной, из которой программист выжимает максимум возможностей своего компьютера и собственных скиллов, а превратилось в отдельный вид киберискусства.


Современные демки откололись от континента прочих субкультур (где-то на берегу остались представители оверклокинга) и дрейфуют в одиночестве. Они не гимн возможностей компьютерной техники, а ding an sich selbst betrachtet — метафизическая вещь в себе, которая может быть фрагментом игры, аниме или трейлером фильма-катастрофы.


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

Total votes 59: ↑59 and ↓0+59
Comments71

Что за чёрт, Python

Reading time24 min
Views102K


Недавно мы писали о забавных, хитрых и странных примерах на JavaScript. Теперь пришла очередь Python. У Python, высокоуровневого и интерпретируемого языка, много удобных свойств. Но иногда результат работы некоторых кусков кода на первый взгляд выглядит неочевидным.


Ниже — забавный проект, в котором собраны примеры неожиданного поведения в Python с обсуждением того, что происходит под капотом. Часть примеров не относятся к категории настоящих WTF?!, но зато они демонстрируют интересные особенности языка, которых вы можете захотеть избегать. Я думаю, это хороший способ изучить внутреннюю работу Python, и надеюсь, вам будет интересно.


Если вы уже опытный программист на Python, то многие примеры могут быть вам знакомы и даже вызовут ностальгию по тем случаям, когда вы ломали над ними голову :)

Читать дальше →
Total votes 84: ↑69 and ↓15+54
Comments47

Как внедряется система безопасной печати на ближайшее к пользователю устройство (follow-me printing)

Reading time7 min
Views36K

Предположим, вы банк, нефтяная компания или просто параноик. Вам хочется, чтобы:
  • Уборщицы, враги и рептилоиды не забирали документы из принтеров.
  • Память принтера надёжно очищалась после печати.
  • Нецелевая печать отсутствовала.
  • Большие задания автоматически перенаправлялись на устройства с дешёвым отпечатком.
  • При отправке на печать задания 50 раз (как часто делает паникующий пользователь) выползало только одно.
  • Чтобы тексты фильтровались по стоп-словам, а картинки — распознавались и тоже не печатались, если содержат конфиденциальные данные (есть не у всех решений).
  • В редких случаях — ну и ещё чтобы в документах на лету слово «направо» заменялось на «налево» для введения потенциального противника в заблуждение.

Это дорого, но уже давно используется в финансовых учреждениях. Там печать выглядит так: вы отправляете задание на принт-сервер, он обрабатывает файл (если надо — посылает безопаснику на ручное согласование, но такая фича также есть не у всех решений), а потом отдаёт на определённый принтер только тогда, когда вы введёте пин и покажете свой отпечаток пальца непосредственно на устройстве, чтобы документ выпал вам лично в руки. Или не приложите свою смарт-карту вроде личного пропуска в здание.

Расскажу детальнее.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments21
1
23 ...

Information

Rating
Does not participate
Date of birth
Registered
Activity