83-03-31 Getting The Most From CA-ACF2: Part 1: Payoff
83-03-31 Getting The Most From CA-ACF2: Part 1: Payoff
Previous screen
William Gibney
Payoff
Computer Associates' CA-ACF2 access control software provides a variety of mechanisms
for controlling and monitoring user access to system resources. However, this software is
effective only if it has been properly implemented. This article, the first in a two-part series,
describes the careful planning that must be taken to ensure that CA-ACF2 provides
optimum control without sacrificing system efficiency.
Introduction
The purpose of this article is to guide management and security officers in implementing
Computer Associates' CA-ACF2 access control software to control system access and
therefore prevent computer crime. CA-ACF2 provides default-based mechanisms for
controlling, tracking, and measuring user access and use of system resources. It is the
author's experience that security software that employs default controls provides the best
assurance against unauthorized access. Of course, any security software is effective only if
it has been properly implemented. Accordingly, this article describes a program for
implementing CA-ACF2 controls following a programmatic implementation approach
consisting of these steps:
· Installing CA-ACF2.
This article, the first in a two-part series, addresses the first three steps of the
implementation. The last two steps are covered in the second article of the series; Part 2
also addresses technical issues related to the control of such major subsystems as TSO ,
Internet Multicasting Service, and Canadian Independent Computing Services Association.
Policy Statement
The goal at this stage is to ensure that the organization has documented its support for
information security in the form of a security policy statement. The statement should
specify the objectives of the information security program, management's commitment to
the program, and the users' responsibilities for security. All employees should be aware of
the security policy and its implications. New employees should receive notice of the
security policy during orientation, and all employees should be required to sign a log-on ID
Previous screen
nondisclosure form. This form should read that all employees are fully responsible for the
use of their log-on IDs and passwords and that the sharing of IDs and passwords is strictly
prohibited. Employees may also be held accountable for failing to report anyone involved
in unauthorized use, abuse, or manipulation of data and resources. Any breach of policy
may result in penalties ranging from a reprimand to termination and possible legal
prosecution. A nondisclosure statement of this sort signals the commitment of management
to enforce its policies and make security everyone's business.
Department: Operations
Manager: J. Dowd
Software Products: Omegamon
Description: To provide online support for operating systems
Users: Operation personnel
Started Task(initialization) Omeg
Regions
Name MVS
Password Maintenance
Mainframe online systems typically have thousands of users who cannot be readily
authenticated by telephone. In order to handle potentially voluminous problems with user
passwords , it is recommended that security officers be assigned at each remote site. For
example, in the banking industry, the branch manager or supervisor is the on-site security
officer responsible for coordinating password changes. In government agencies, password
controls usually are assigned in the same manner to agency supervisors. It is also
recommended that a backup security officer be assigned at each site.
In all cases, the information security officer is responsible for verifying the remote
security officer's identity using a unique identifier such as social security number,
employee start date, and mother's maiden name before making a password change. This
verification process may take considerable time to construct and should therefore be started
as soon as possible.
CA-ACF2 supports the use of scope records, which can be used to grant specific log-
on IDs the authority to change a group of log-ons. For example, scope records can be used
to give the remote site security officers the authorization to change passwords for the
employees they are supervising. Use of scope records can save much time in maintaining
such information.
The following CA-ACF2 commands can be used to create a scope record; the LEADER
attribute is used to attach the scope record name to the site security officer's log-on ID:
ACF
SET SCOPE(SCP) INSERT BRANCH1 LID(BRANCH1) UIDS)
END
In the above example, TESTID has the ability to access TSO with the privileges of the
SCOPE record; the SCOPE record restricts the authority of TESTIDto change passwords for
BRANCH1 IDs only.
In establishing a scope record, care should be taken not to lock yourself out—this is not
an uncommon error. In fact, you should always have a backup security ID. The importance
of correctly establishing and maintaining log-on IDs and user ID strings is further
illustrated in the sections on analyzing system users and creating the log-on ID data base.
Because SAFTRACE records are produced for every call made by the ID for which the
SAF-TRC attribute is turned on, the security analyst must look for records that are known to
be unique to the software.
This process of identifying attributes that are unique to the software requires patience
and care. It is always advisable to first consult the product vendor for information
pertaining to these SAF records. Lack of sufficient care in specifying software attributes can
lead to disastrous results. Consider, for example, this SAFPROT record, which was written
by an associate of the author:
SAFPROT.NVE CLASSES(-) CNTLPTS(-) SUBSYS(CONTENTS)
This SAFPROT record was not unique to the targeted software; it was, in fact, a
common MVS resource call. This record caused all production and test system batch jobs
to fail. Worse yet, because no TSO or CA-ACF2 commands could be executed, it seemed
impossible to delete the SAFPROT record and return the system to normal. Even an Initial
Program Load could not bring up the system, because the same erroneous SAFPROTrecord
remained.
If this should ever happen, the master console command to delete a SAFPROT record
is:
F CA-ACF2,REFRESH(SAFPROT),SYSID(DUMY)
When this command is entered, all SAFPROT records on the system it is executed on
will be suspended. The inappropriate SAFPROT record can then be deleted; the following
refresh makes the other SAFPROT records effective again:
F,CA-ACF2,REFRESH(SAFPROT)
While the security specialist determines the security links to be applied, the members of
the implementation team should begin documenting the transactions for each region. Brief
examples of each type of interface follow.
ACF2 GSO SAF Records.
Previous screen
The following SAFPROT record causes CA-ACF2 to intercept all users accessing a
data set by any software product whose control points and subsystem are test:
SAFPROT.PRODUCT CLASSES(DATASET) CNTLPTS(TEST)SUBSYS(TEST)
More than one SAFPROT record may be required to provide the required level of
security. In this case, it is sufficient to add a different extension to another SAFPROT
record. It is not the extension of the record but the SAFPROT record name and its contents
that provide the security. For example:
SAFPROT.NTV1 CLASSES(DATASET) CNTLPTS(DBG-) SUBSYS(-)
SAFPROT.NTV2 CLASES(VERIFY) CNTL[PTS(DBG-) SUBSYS(-)
The first record intercepts the MVS call with control points of DBG- and classes of
DATASET to provide data set protection. The second record intercepts the MVS call with
control points of DBG- and classes of VERIFY to provide log-on ID and password security.
The subsystem records in the above example apply CA-ACF2 security to all subsystems
with control points of DBG- and classes of DATASET and VERIFY.
A separate record called the SAFSAFE record should be written for combinations of
classes, control points, and subsystems that bypass CA-ACF2 and SAF validation and
eliminate duplicate MVS calls for products that have been secured. The following record
should be included:
SAFSAFE CLASSES(-) CNTLPTS(-) SUBSYS(-)
The resource rules must be written, compiled, and stored with IAG and ITR types. The
IAGresource rule pertains to an application group name which is a group of terminals,
transactions, and program-specific blocks that an IMS -dependent region is permitted to
access. The ITR resource type is used for Transaction Processing. (Further discussion of
IMS security appears in Part 2 of this series of articles.)
The following CA-ACF2/CICS CSECT records ignore file and program validation
while validating transaction authorizations:
ACF2/CICS CSECT
ACF#PCVT CSECT
Previous screen @CICSKEY RSRC=FLE,
Option=Ignore,
Key=CFC
@CICSKEY RSRC=PGM,
Option=Ignore,
Key=CPC
@CICSKEY RSRC=TRN,
Option=Validate,
Key=CKC
@CICSSAFE RSRC=FLE
@CICSSAFE RSRC=PGM
Resource rules with a type CKC must be written, compiled, and stored.
CA-ACF2/CICS can also be secured using the SAF facility, but CSECT records are
more centralized and easier to maintain and control. For further information, it is
recommended that readers consult the CICS installation manual or their CICS systems
programmers.
Investigating and planning security interface routines for all system software products
requires the active participation of management from each affected area as well as of all
members of the implementation team. It is important that team members be kept informed
of these often complicated issues during this development phase.
· Make the ID restricted. This will eliminate the effective use of a password and prevent
the ID from logging on to the system
· Attach the SUBAUTH attribute, making the batch ID submittable only by an Authorized
Program Facility authorized program.
· Force the use of the ID to a program using the PROGRAM field on the ID. The program
then must be APF authorized.
· Place the program in a highly protected dataset for which member level protection rules
Previous screen
have been written. This will provide program protection.
· Apply a timeshift attribute to lock the use of the batch ID into certain times of the day,
and use the SOURCE field to restrict the use of the ID to a terminal , group of terminals ,
or internal readers.
It is recommended that these controls be used in combination with strict rule writing to
define appropriate access paths. (Examples of writing program pathing rules are provided
in Part 2 of this series.)
The following log-on ID demonstrates the use of the RESTRICT, PROGRAM, SOURCE,
SUBAUTH, and SHIFT attributes:
In this example, the group names PRIVILEGES, ACCESS, STATISTICS, and SOURCEare
defined in the CA-ACF2 Field Definition Record. The RESTRICT attribute prevents the ID
from being used to log on. SUBAUTH permits the use of the ID TESTID only when it has
been submitted by an APF authorized program. PROGRAM(PGM NAME)locks the SUBAUTH
program to a specific name, and SHIFT(DAILY) allows the ID to be locked into certain times
of the day. The SOURCE(INTERNAL READER) field restricts the use of the ID to a terminal ,
a group of terminals , or an internal reader. The CA-ACF2 Administrators Guide provides
more detailed information on creating the SHIFT and SOURCE records.
It should be noted that CA-ACF2 also provides the JOBCOPY and ACFSUB facilities for
program pathing batch IDs that work similarly to the pathing techniques just discussed.
Defining Ownership
After the systems, security interfaces, and started tasks have been defined, all data sets
must be assigned ownership. This makes it possible to determine which signature
authorizations are required when requests for data set or system access are received.
All data set access requests are authorized by the contents of the $OWNERS field in each
data set rule. For example:
$KEY(SYS1)
$OWNERS(MVS SYSTEMS)
-UID(USERS) READ(A) EXEC(A)
The procedures should specify that all requests for data set access be authorized by
department managers as well as data set owners.
Classifying Data
Classifying data can help reduce the cost of processing and employee resources by
avoiding overprotecting information as well as avoiding losses that can result from lack of
protection. To classify data, the data owners should consider the consequences of its
exposure and manipulation. The same analysis should be done for all transactions within
Canadian Independent Computing Services Association, IMS, IDMS, and other online
subsystems.
All access rules depend on the accurate description of transactions, classification of
Previous screen
data, and establishment of appropriate access standards. To provide the appropriate level of
security, members of the implementation team and data owners must provide specific,
complete, and accurate information.
Security can be provided on multiple data set levels. For example, owners of data
classified as critical may want access restricted, expired after a time limit, or logged.
CA-ACF2 logging allows access, and creates an System Management Facility type230
record that records the log-on ID used, the users name, the time, date, job name, library
name, program name, and type of access. CA-ACF2 reporting utilities then interpret the
information contained in this SMF record. The following is an example of a logging rule in
which access expires on 01/01/94:
$Key(TEST)
-uid(user) read(L) exec(L) write(L) alloc(L) until(01/01/94)
This logging report shows the TESTID executing the IEBGENER utility in
SYS1.LINKLOAD; the job name is TESTIDJOB and the TEST.LIBRARY data set was read as
input. Time and date stamps are also shown.
Analyzing Users
To establish appropriate and secure access rights, it is necessary to evaluate the job
functions of users. Access rights will be assigned on the basis of the specific tasks and
responsibilities assigned to users and user groups. The following sections describe the
various mechanisms (e.g., records, files, and profiles) that are used to specify access
rights.
The following example provides a more detailed view of the UID string:
TESTID CSTSS1NY
TESTID (positions 1-6) denotes the ID.
CS (positions 10-11) denotes Computer Systems division.
TS (positions 12-13) denotes Tech Support department.
S (position 14) denotes Staff position.
1 (position 15) denotes first shift.
NY (positions 16-17) denotes New York site.
Open (positions 18-25) for future use.
The log-on ID varies in length with a maximum of 1024 bytes. CA-ACF2 reserves 640
bytes, and the rest can be used for installation-defined fields. All log-on ID fields are
defined in the FDR.
A number of techniques can be used to make the log-on ID useful for reporting, cross-
referencing, and maintenance. For example, employee numbers can be used for IDs.
Employee numbers that are cross-referenced with personnel data bases facilitate the
automated maintenance of the CA-ACF2 log-on ID data base. (For example, the security
officer can write a program to match employee numberbased IDs with employee
numberreferenced records in the personnel file.) The use of department prefixes can also
facilitate the writing of group rules.
Once the UID string has been designed, implementation team members should be
consulted to establish authorized access levels. Remember that only data set owners have
the authority to grant access. Although some system libraries may be shared, data set
owners may restrict access by permitting some employees full access, some update access,
and others read and execute access.
The design of the UID string should complement the writing of rule profiles. The
following is an example of effective group rule writing:
$Key(TEST)
SHARED.DATASET UID(CSTSS1) READ(A) WRITE(A) ALLOC(A) EXEC(A)
Previous screen CLOSED.DATASET UID(CSTSS1NY) READ(A) WRITE(A) ALLOC(A) EXEC(A)
- UID(CST) READ(A) EXEC(A)
In this example, the TEST.SHARED.DATASET rule gives full access to all users with a
UID string of CSTSS1, while the TEST.CLOSED.DATASET rule gives full access only to
those with UID string CSTSS1NY. The default access rule UID(CST) limits all users with
the UID string of CST to read and execute privileges. (Part 2 in this series of articles
provides more detailed examples of rule writing.)
The security officer inserts the source field as part of the log-on ID in order to restrict
use of the log-on ID to a specific group of resources(e.g., a group of terminals ).
Such source groups may also be used in conjunction with SAFPROT records to set up
secondary accessor IDs for securing data base 2 access. A secondary accessor ID, which
consists of the source group name record, is passed to DB2 for processing. If there is no
source group name in CA-ACF2 or in the DB2 data base, the user's primary log-on ID is
passed.
The following example shows how to establish source groups on line in CA-ACF2.
The source group names are then attached to the log-on ID limiting the use of the ID to a
group of terminals:
ACF
SET ENTRY(SGP)
INSERT GRPNAME NEWDATA(TERMINALS)
end
TESTID TEST NAME
PRIVILEGES TSO
ACCESS ACC-CNT(1) ACC-TIME(12:00)
STATISTICS SEC-VIO(0)
SOURCE SOURCE(GRPNAME)
The SHIFT attribute can be a useful tool for controlling the times log-ons are authorized.
The LOGSHIFT attribute can be used in conjunction with SHIFT to allow access past shift
hours while logging the access time, date, terminal , and user. The following is an example
of the CA-ACF2 online command and the log-on ID with the SHIFT and LOGSHIFT
attributes:
ACF
Set Shift
Previous screen Insert Daily(07:00-17:00)
end
TESTID TESTNAME
PRIVILEGES TSO SHIFT(DAILY) LOGSHIFT
ACCESS ACC-CNT(1)
STATISTICS SEC-VIO(0)
Conclusion
To ensure that the system is efficiently controlled, tracked, and secured, CA-ACF2
installation must be carefully planned. There are no substitutes for managerial support and
teamwork to ensure that corporate policies and standards are correctly implemented. This
article has addressed the first three prerequisites for effective planning:
Part 2 in this series on CA-ACF2 covers the final two steps: preparing the CA-ACF2
data bases and rule sets and performing the installation. Part 2 also addresses technical
issues related to control of such major subsystems as TSO and Canadian Independent
Computing Services Association.
Author Biographies
William Gibney
William Gibney, a Certified Systems Security Professional with a masters degree in
business management, is an information security analyst for Financial Information Services
Agency in New York City. He has over 12years of experience working with CA-ACF2
access control software. Gibney also served for several years on the board of directors of
the New York chapter of the Information Systems Security Association.