Mainframe Unbreakable

VYLE
Уже с Приветом
Posts: 1772
Joined: 06 Sep 2001 09:01
Location: Boston, MA -> Charlotte,NC ->Danbury,CT

Post by VYLE »

A. Fig Lee wrote:Почитал что тут Влад написал. Да ето ж жутко напоминает PDP-11 семейство со товарищи от DEC. Ну почти 1 в один.
Интересно - ето мейнфрейм или нет?


PDP к мейнфрейму - ну.. это примерно как Канада к Штатам :mrgreen:
Я не настолько богат, чтобы пить дешевую водку.
Michael Popov
Уже с Приветом
Posts: 991
Joined: 09 Sep 2001 09:01
Location: The Earth

Post by Michael Popov »

VYLE wrote:А вот тут засада - на mainframe стека нет!


А это как ?! 8O
Best regards,

Michael Popov
zVlad
Уже с Приветом
Posts: 15409
Joined: 30 Apr 2003 16:43

Post by zVlad »

Michael wrote: "Если у Вас привилегии администратора в системе, то Вы можете сделать с ней все что угодно. Если Вы на Win 2000 как обычный юзверь, то при правильно сконфигурированной системе, ничего плохого Вы сделать не можете (в теории ). Все это справедливо и для других систем вроде Unix."

Значит всетаки можно. В VM (да и в MVS) если ты не привелигированный, то ничего сделать нельзя. Много лет назад обсуждалась типа а что если запустить маленькую программу на виртуальной машине и просто читать страницы выделяемой памяти? Авось какую-нибудь ценную для взлома информацию надыбаем. Но уже давно система обнуляет страницы перед их первым выделением виртульным машинам .

" У меня к Вам встречный вопрос. Как будут работать все эти protection механизмы на Linux бегущем на mainframe ? Если там зашит "троян-демон", бегущий под root account, который периодически посылает файл паролей по какому-то адресу WasjaPupkin.com, то как будут работать защитные механизмы принадлежащие именно mainframe ?"

Я уже немного освещал этот вопрос. Троян в Linux-e не сможет добыть список паролей который храниться в RACF, но если вы используете Linux систему авторизации, то может быть это возможно, я не специалист в Linux. Мне только не понятно как троян тута проникнет изначально?
zVlad
Уже с Приветом
Posts: 15409
Joined: 30 Apr 2003 16:43

Post by zVlad »

Amirko wrote: "Unbreakable, говорите? Да я лично разобрал 2 мейнфрейма. "
Раскажите подробнее, пожалуйста.
zVlad
Уже с Приветом
Posts: 15409
Joined: 30 Apr 2003 16:43

Post by zVlad »

Michael wrote:

"VYLE писал(а):
А вот тут засада - на mainframe стека нет!


А это как ?!"

Аппартного стека на мэйнфрэйм (ИБМ) нет, но программные стеки есть. Если например С имеет стек как элемент его архитектуры, то стек в понимании С конечно есть.

А вообще я должен заметить, что описание элементов системы защиты мэйнфрэйм, приведенное мною выше - очень поверхностное и убогое. Я лишь старался этим показать что есть аппартные механизмы, которые в сочетании с системными возможностями делают мэйнфрэйм не "теоритически" а практически защищенными. При подготовке этого введения я открыл "Принципы работы" и обнаружил, что сам уже безнадежно отстал от того что имеется сегодня в этом плане в системе zSeries
User avatar
A. Fig Lee
Уже с Приветом
Posts: 12072
Joined: 17 Nov 2002 03:41
Location: английская колония

Post by A. Fig Lee »

VYLE wrote:
A. Fig Lee wrote:Почитал что тут Влад написал. Да ето ж жутко напоминает PDP-11 семейство со товарищи от DEC. Ну почти 1 в один.
Интересно - ето мейнфрейм или нет?


PDP к мейнфрейму - ну.. это примерно как Канада к Штатам :mrgreen:

Надо же! А я ведь до сиз пор DEC люблю и некоторые команды в машинных кодах помню.
Верить нельзя никому - даже себе. Мне - можно!
User avatar
idle0
Уже с Приветом
Posts: 2846
Joined: 28 Jun 2000 09:01
Location: Milwaukee, WI

Post by idle0 »

zVlad wrote:OK. Just for short introduction. Mainframe (IBM) has hardware (pay attention to this) options to protect system from application programs, and application programs from each other. Those options are:


Если я не ошибаюсь, все эти hardware штучки были еще в iAPX 80286 :)
moria# show running-config
zVlad
Уже с Приветом
Posts: 15409
Joined: 30 Apr 2003 16:43

Post by zVlad »

idel0 wrote: "Если я не ошибаюсь, все эти hardware штучки были еще в iAPX 80286"

Штучки, о которых я написал - лишь маленькая толика того что есть на самом деле.
А вообще, давайте детально проанализируем как работают "привилегированные команды" в мэйнфрэйм и сравним с так называемым kernel mode and user mode:

Итак, работает система в режиме супервайзера (об этом известно из PSW) cистема находит программу готовую к выполнению, после нескольких шагов не имеющих отношение к вопросу, система передает управление проблемной программе. Делается это через команду "загрузить новое PSW". Дело в том что именно в PSW находится адрес следующей выполнимой команды, и как я уже говорил некий бит, который информирует процессор о том в каком режиме выполняется программа: системном или проблемном. Естесвенно команда "загрузить новое PSW" - привилигированная и также естественно, что при передачи управления проблемной программе состояние в PSW будет "проблемная задача". Задача начинает выполняться, и вдруг при выполнении встречается привилигированная команда (например "включить состояние системной задачи") допустим это вирус и ему надо что-то поделать в системе т.е. иметь доступ к привилигированным командам. CPU начиная выполнять эту команду и поняв что команда привилигированная смотрит в PSW на предмет проверки состояния, в котором кто-то хочет выполнить привилигированную команду и видит что состояние то "проблемная задача". Не выполняя этой команды, CPU инициирует аппаратное прерывание "привилигированная команда" и меняет PSW на то PWS которое подготовила система когда инициализировалась, т.е. PSW обработки прерывания "привилигированная команда" далее система вычисляет (по старому PSW и другим системным блокам) какая программа пыталась выполнить "привилигированную команду" и планирует ее аварийное завершение. Проблемная задача завершается аварийно и вычищается из системы.

Кто-нибудь может вот также подробно описать работу kernel mode and user mode. Не просто сказать: "Да они так же работают" а подробно описать.
Palych
Уже с Приветом
Posts: 13722
Joined: 16 Jan 2001 10:01

Post by Palych »

zVlad wrote:Michael wrote:

"VYLE писал(а):
А вот тут засада - на mainframe стека нет!


А это как ?!"

Аппартного стека на мэйнфрэйм (ИБМ) нет, но программные стеки есть. Если например С имеет стек как элемент его архитектуры, то стек в понимании С конечно есть.


Вот именно! :umnik1:
Пока на mainframe крутится софт, написанный на ассемблере с использованием всех перечисленных фич - он надежен как швейцарский банк. Причем те только (а может и не столько) потому что система хорошо спроектирована. Просто положение неуловимого Джо...
Но если бы вместо PC изобрели мобильные терминалы и надежные быстрые каналы связи и mainframe пошли в массы - мы бы увидели немало чудес.
И все эти супер-пупер защиты сыграют роль Линии Можено.
Ведь для вируса необязательно пробивать защиту и добираться к чужим программам.
Программой может быть почтовый клиент, который имеет мощные и удобные средства автоматии (XXScript). И позволяет разослать специальные сообщения, которые автоматически запустятся на клиенте, скачать и проиграть красивые презентации. А защитой может быть PopUp window с грозной надписью "Do you really want to run it???", написанное на том же скрипте. "Для удобства населения..."(с)
Вот тогда все послушают сказки зубров программирования про неуязвимость mainframeов....
Так же как с автосигнализациями, замками и пр.: если их не закрывать - они бесполезны независимо от степени совершенства....
User avatar
tengiz
Уже с Приветом
Posts: 4468
Joined: 21 Sep 2000 09:01
Location: Sammamish, WA

Post by tengiz »

zVlad wrote:...А вообще, давайте детально проанализируем как работают "привилегированные команды" в мэйнфрэйм и сравним с так называемым kernel mode and user mode:
...Кто-нибудь может вот также подробно описать работу kernel mode and user mode. Не просто сказать: "Да они так же работают" а подробно описать.

zVlad - ну нельзя так подставляться. Поинтересуйтесь хотя бы тем, о чем писал idle0. Вы же профессионал - разберитесь сами, что Вы всё ликбез просите себе устроить? А пробема с миникомпьютерами и PC не в отсутствии надёжных аппаратных стредств защиты, а в софтверных багах (как в системном софтвере - включая ОС и драйверы, так и в прикладном) или безграмотном администрировании, помноженном на огромный тираж систем.
Cheers
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

1. Разумеется нормальная защита памяти появилась не в Win 3.1, а в NT
2. В любой системе есть проблема. Когда непривилегированный процесс должен сделать что то привилегированное, то обычно это делается так: обычный процесс просит некий привилегированный сделать чтото для него. Вот тут и могу быть дыры
3. Я работал на VAX/VMS. Тоже все работало как часы. Все одного производителя - железо софт. Все иделаьно совместимо

А теперь представьте - у вас на mainframe утсановлено 100 ращных программ 100 фирм, драйвера 10 разных фирм, все это новое и немного сырое... Все старые системы были надежны в том числе и изза крайней простоты. Ну как почта могла быть проблемой на VAX, когда это был просто пассивный текст ?
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
Eugene Solovey
Уже с Приветом
Posts: 208
Joined: 23 Nov 2002 21:07

Post by Eugene Solovey »

А что мы уже забыли как начиналось современное вирусописательство?
Напоминаю: http://www.wbglinks.net/pages/reads/mis ... sworm.html

Это не совсем про mainframe, но "огнеупорный" SUN да 100% надежный VAX там присутствуют. Были и прото-вирусы для mainfraim-a, сетей только небыло тогда....
zVlad
Уже с Приветом
Posts: 15409
Joined: 30 Apr 2003 16:43

Post by zVlad »

Tengiz, я потому прошу устроить мне ликбез, что недавно пытался сам разобраться, один парень лавал ссылку на добротный документ по архитектуре Интел процессора. Крупный документ, много времени надо чтобы во всем разобраться - а мне это надо? Вот я и подумал - форум удобное место заткнуть пробелы знания продукта, который не так уж и нужен. Как видишь проводить ликбез по мэйнфрэйму (не так и нужному многие) я не против.

Кстати, Tengiz, а MIcroSoft использует ИБМ мэйнфрэйм? Я слышал что использует. Так ли это?
Last edited by zVlad on 29 Aug 2003 12:08, edited 1 time in total.
zVlad
Уже с Приветом
Posts: 15409
Joined: 30 Apr 2003 16:43

Post by zVlad »

Dmitry67, ну добавь несколько фраз к "2. В любой системе есть проблема. Когда непривилегированный процесс должен сделать что то привилегированное, то обычно это делается так: обычный процесс просит некий привилегированный сделать чтото для него. Вот тут и могу быть дыры "
Происходит это чисто программно, или аппаратно? А что если процесс решает сам выполнить привилигированную операцию? Пример дыры?
VYLE
Уже с Приветом
Posts: 1772
Joined: 06 Sep 2001 09:01
Location: Boston, MA -> Charlotte,NC ->Danbury,CT

Post by VYLE »

zVlad wrote:Michael wrote:

"VYLE писал(а):
А вот тут засада - на mainframe стека нет!


А это как ?!"

Аппартного стека на мэйнфрэйм (ИБМ) нет, но программные стеки есть. Если например С имеет стек как элемент его архитектуры, то стек в понимании С конечно есть.



Во времена ЕС программный стек представлял из себя двусвязный список. Т.е. каждый фрейм мог лежать отдельно по произвольному адресу. Плюс в стеке хранились только регистры. Все локальные переменные распределялись из кучи. Техника stack overflow в таких условиях не применима. Возможно сейчас что-то и изменили в архитектуре, но не думаю, что радикально.
Я не настолько богат, чтобы пить дешевую водку.

Return to “Вопросы и новости IT”