Lindy Mayfield wrote:
For completeness, since I started this whole, ah, thing, I'm curious
what they are.  Here are the techniques I've learned so far, including
the one that violates system integrity:

__ The standard acceptable method is to call TSO/E Service Facility,
IKJEFTSR and pass it the name of an authorized module.

__ Call an SVC that flips the JSCBAUTH bit back on.  This is
non-standard.  If it is to be implemented even on a development system
then added security needs to be built in to make sure it isn't misused.

I don't believe it's possible to add security to ensure this method doesn't get misused. (I'm almost sorry you posted it as an option.)

The whole issue of validating the SVC caller is a hairy one. And, the requirements -- for example, to not even preserve a single register or storage address across the call -- are onerous. But, even more of a problem is the idea of setting JSCBAUTH. That flag affects all TCBs in the job step tree. It would be a fairly trivial matter for a savvy programmer to ATTACH a TCB that loops waiting for this flag to be turned on by the SVC running your code in another TCB. To protect against this, you would essentially have to make all TCBs in the address space non-dispatchable *before* JSCBAUTH was turned on. And, leave things that way until after JSCBAUTH is turned off again.

This is not unlike what is done with IKJEFTSR. Your program runs under the authorized "leg" of the TMP. All unauthorized TCBs are made non-dispatchable while the authorized code runs.

Keep in mind that similar integrity issues apply to any action that offers additional privilege to unauthorized work running asynchronously in the address space. For example, AXSET.

__ Simply put all the authorized stuff into an SVC or PC routine.

That's all I've collected so far.  Are there more ways?

Lindy

--
Edward E Jaffe
Phoenix Software International, Inc
5200 W Century Blvd, Suite 800
Los Angeles, CA 90045
310-338-0400 x318
[EMAIL PROTECTED]
http://www.phoenixsoftware.com/

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to