IBM Z Japan - Group home

#092【z/OS V2R4変更点】 「IEP」新機能(非実行可能メモリー)の省略時活動化に伴う考慮事項

  

z/OS V2R2 (APAR OA51647適用後)、z/OS V2R3以降では、「IBM z14」以降のサーバーで稼働する場合に限り「IEP」(Instruction-Execution-Protection)新機能が利用可能です。

【「IEP」新機能】
■「IEP」は「EXECUTABLE=NO」指定で確保されたストレージ(非実行可能メモリー)領域でのプログラム・コード(命令)実行を禁止する新機能で、例えば、EX(EXECUTE)命令のターゲットが「非実行可能メモリー」領域に存在する場合など「ABEND0C4-4」(保護例外)が発生します。
■新機能を利用することで、「STACK」、「HEAP」ストレージのように通常はデータしか含まれない領域での意図せぬ命令実行を禁止することが可能となり、システム全体の更なるインテグリティー向上に役立ちます。
■「非実行可能メモリー」領域を確保する方法
※31ビット領域(私用域サブプール): STORAGE OBTAIN,EXECUTABLE=NO (対象サブプールは下表を参照)
※64ビット領域(メモリー・オブジェクト): IARV64 REQUEST=GETSTOR,EXECUTABLE=NO
■確保された領域からの命令実行可否

※「STORAGE RELEASE」処理での「EXECUTABLE=YES/NO」パラメータ指定は、「STORAGE OBTAIN」処理の指定値と合わせる必要あり

【z/OS V2R4 LEの変更点(考慮事項)】
■z/OS V2R4 LE以降では、PARMLIB(CEEPRMxx)メンバーにて「CEENXSTG(ON/OFF)」キーワードが新規追加され、HEAPストレージ(31ビット領域)における「非実行可能メモリー」の利用が省略時解釈(ON)として活動化されます。
■z/OS V2R5の稼働状況(省略時解釈) ※z/OS V2R4も同様

※新規追加の「CEENXSTG(ON/OFF)」キーワードは、CEECOPT/CEEDOPT/CELQDOPTキーワードなどと同レベルの指定
※「SETCEE CEENXSTG,ON」、「SETCEE CEENXSTG,OFF」コマンドによる変更可能
■LE実行時オプションとして「CEENXSTG(ON)」(省略時値)が有効な場合、チェックポイント・リスタート機能が利用できないという制約事項があります。

【z/OS V2R4 JES2の変更点(考慮事項)】
■z/OS V2R3 JES2では、$GETMAINマクロに対して「EXECUTABLE=YES/NO」(省略時値: YES)パラメータ指定が新たに追加され、z/OS V2R4 JES2では省略時値が「NO」に変更されました。
■JES2導入出口(Exit)などを利用して、$GETMAINマクロにて確保された領域で命令実行する必要がある場合は、例えばz/OS V2R3からV2R5への移行時など、導入出口の再アセンブル処理を行う際、$GETMAINマクロ、$FREMAINマクロの両方に対して「EXECUTABLE=YES」パラメータの明示指定が必要です。

【稼働環境の変化に伴う注意点】
■下表「×」印の組み合わせ(サーバー/OS)では「IEP」新機能が利用できず、「STORAGE OBTAIN/RELEASE」、「IARV64 REQUEST=GETSTOR」マクロにて指定された「EXECUTABLE=NO」パラメータは無視されます。
※「○」印の組み合わせは「IEP」新機能が利用可能な環境
※例えば、z/OS V2R5を「IBM z13」サーバー上で稼働する場合、「IEP」新機能の利用前提を満たさないため「EXECUTABLE=NO」パラメータ指定は無視

■一方、次のような稼働環境の変化が発生した場合、前述のLE、JES2機能変更が有効化され、省略時解釈として「IEP」新機能が利用開始されます。
※「IEP」新機能は、z/OS移行時のみならず、サーバー更改時にも利用開始される可能性あり
①z/OS V2R3からV2R5への移行時、z/OS V2R5を「IBM z14」以降のサーバーで稼働する場合
②z/OS V2R4環境で、稼働サーバーを「IBM z12」、「IBM z13」から「IBM z14」以降に移行する場合
③z/OS V2R5環境で、稼働サーバーを「IBM z13」から「IBM z14」以降に移行する場合

 

以上