Одним жах яким прохолодним січневим ранком від знайомого прилетів питання — як на C# визначити, не запущена програма в ОС (віконне додаток в ОС Windows 7 або новіше) на віртуальній машині.
Вимоги до такого детектора були досить жорсткими:

  1. Повинен бути повністю у вихідних кодах,
  2. Повинен збиратися за допомогою Visual Studio,

  3. Повинен працювати з-під облікового запису непривілейованого користувача (не можна використовувати методи, що вимагають, наприклад, установки драйверів пристроїв, чи інших операцій, для яких потрібні права адміністратора),
  4. Дозволено використовувати .NET Framework 4.5 і ніяких зайвих залежностей (типу Visual C++ Redistributable Package).

Під катом опис реалізованого детектора на C# (в наступної частини — з деякими елементами C++) і пристойною кількістю непристойного коду з використанням Visual Studio 2015 Community.
Структура публікації
  • 1 рівень. Вивчення матчастини і найпростіших існуючих рішень:

    • трохи теорії щодо віртуалізації,
    • реалізація перевірки ВМ з допомогою даних з Windows Management Instrumentation (WMI).


  • 2 рівень. Пошук статей і публікацій про детектування запуску у віртуальних машинах:

    • допиливаем реалізацію з WMI,
    • робота з інструкцією CPUID.


  • 3 рівень. Пошук матеріалів з хакерських конференцій:

    • допиливаем роботу з CPUID,
    • робимо зведену таблицю параметрів і результатів тестування.


Читати далі →

Виконуємо кластеризацію на прикладі BitrixVM: просто і зрозуміло

Забезпечення відмовостійкості – запорука безперервної роботи і взагалі повного задоволення як користувачів, так і адмінів. У нашому сьогоднішньому матеріалі мова піде про те, як можна виконати кластеризацію BitrixVM за допомогою простих і доступних засобів, щоб усім було радісно і ніщо не заважало спокійно працювати.
Читати далі →

Система звітів: як отримувати 50 млн. звітів і зберегти Дзен



Чим складніше програмний продукт, чим більше він взаємодіє зі сторонніми системами (часто не менш складними), тим вище вірогідність збоїв в роботі. Тестування допомагає знайти більшість багів перед выкатыванием релізу, але іноді что-то може прослизнути. І щоб швидко отримувати детальну інформацію про факт збою і супутніх умовах, в наших продуктах широко використовується система звітів. Про її устрій ми хочемо сьогодні розповісти.
Читати далі →

Як ми заново збирали сервери в американському Цоді з Росії

Сьогодні ми хотіли розповісти вам про те, як наші хлопці за три години підвищили продуктивність кластера для тестування в 4 рази, просто «помізкувавши».

image

Upd. Цей пост це — НЕ МАСШТАБНЕ ТЕСТУВАННЯ — це реальна історія з практики з кумедними моментами. Ми підвищили щільність ВМок в 4 рази, якщо ви очікуєте побачити порівняльне тестування, графіки і аналіз продуктивності, вам не сюди. Тут сьогодні швидше душевний чтиво.

Читати далі →

віртуальні Операційні системи в хмарі. Витрати та переваги

У цій статті старший ІТ-архітектор COMPAREX AG Ерік Берг розповість про використання віртуальних машин у хмарі, переваги та супутніх витратах.

Віртуальні машини є частиною рішень «Інфраструктура як послуга» Azure. За великим рахунком, немає суттєвих відмінностей між віртуальними системами в Azure та іншими системами, які розміщуються у спеціальному центрі зберігання і обробки даних (ЦОД) компанії. Всі вони мають певний комплект апаратного обладнання (CPU, RAM, HDD, мережа) і операційну систему. Тим не менш, віртуальні машини, використовувані Azure, строго стандартизовані з метою оптимізації ресурсів і витрат.

Приклади класів:
Клас ВМ Ядра CPU RAM HDD #
A2 2 3,5 ГБ 4
A11 Intel Xeon E5-2670 16 ядер @ 2,6 ГГц 112 ГБ 16
D4 8 28 ГБ 400 GB local SSD
G5 32 448 ГБ 64
6596 GB local SSD

Читати далі →

Як перестати турбуватися і перемогти Центр оновлення Windows?

imageЦя стаття розповідає про нової функціональності Parallels Desktop 12, що дозволяє контролювати установку оновлень і обслуговування Windows 10. Всі пам'ятають 1995 рік, коли операційна система Windows придбала робочий стіл із значками, панель завдань і меню «Пуск». Більш знаковий 1998 рік пам'ятають чомусь далеко не всі — адже саме тоді в Windows з'явився Центр оновлення. Тепер користувачі завжди мали на своїх комп'ютерах найактуальнішу і безпечну версію операційної системи.
Читати далі →

Як збільшити життя батареї на Mac і інші функції Parallels Desktop 12

imageУ серпні 2016 року з'явилася 12-я версія популярного в усьому світі утиліти Parallels Desktop для Mac. У цій статті наші розробники розповідають про основні її особливості. Пишіть у коментарях про те, чого б вам хотілося дізнатися в технічному плані і ми врахуємо ваші побажання у наступних матеріалах.
Читати далі →

Виявлено новий механізм злому хмарних віртуальних машин



Фахівці з кібербезпеки Амстердамського вільного університету виявили новий механізм злому хмарної віртуальної машини. Механізм передбачає кілька етапів. Для злому використовується відома технологія Rowhammer.

Перший етап полягає в тому, щоб орендувати хмарну віртуальну машину, або декілька машин, на одному хості з жертвою.
Читати далі →

Як правильно працювати з снапшоти віртуальних машин

«Snapshot» в перекладі з англійської означає «постріл» або «миттєвий фотознімок». Снапшот — це свого роду фотознімок віртуальної машини (ВМ), зліпок її конкретного стану. Віртуальна машина може використовуватися для різного роду експериментів, або в неї можуть вноситися зміни, які потім потрібно швидко відкотити назад. Саме для того, щоб кожен раз не мучитися відновленням попереднього стану ВМ і існують снапшоти, повертають ВМ до вихідного стану. Снапшоти   не така вже проста операція, під всякому разі, вона повинна робитися за правилами, про яких ми сьогодні і розповімо.
image
Читати далі →

Altaro VM Копіювання: резервне копіювання віртуальних машин Hyper-V та VMware

Розгортання віртуальних машин стає загальною практикою для компаній всіх розмірів. По мірі впровадження віртуалізації і зростання популярності хмарної моделі розвиваються і відповідні засоби резервного копіювання, охоплюючи все більше віртуальних середовищ, операційних систем і додатків. Так як же організувати резервне копіювання віртуального середовища на належному рівні? Наскільки це складно?


Читати далі →