fennell@inco.UUCP (Tim Fennell) (12/15/87)
I need to find a VMS utility that will allow me to validate a User ID and password. The application I plan to use this is in a FTP server. The server needs to validate a user's password and then perform access control according to the new user's or client's privileges. I can't find a SYS$ or LIB$ funtion that will help. If anybody knows of a way please, help!! Thanks ahead of time. Tim Fennell McDonnell Douglas/Inco Inc.
fwb@siemens.UUCP (Frederic W. Brehm) (12/17/87)
In article <1288@inco.UUCP> fennell@inco.UUCP (Tim Fennell) writes: > > I need to find a VMS utility that will allow me to > validate a User ID and password. > ... I can't find a SYS$ or LIB$ > funtion that will help. If anybody knows of a way > please, help!! DEC has nothing in the libraries to help you. I had the same need and called DEC software support. Their response was "We do not support this, and never will, because it is a possible security loophole." The guy mentioned that some recent DECUS VAXSIG tape had some user software which would do the job. I did not follow this up because I don't want to support that software when DEC changes their encryption algorithm. If there is software for this on a SIG tape, perhaps some kind person can post it. Fred ---------------------------------------------------------------------------- Frederic W. Brehm Siemens Research and Technology Laboratories 105 College Road East Princeton, NJ 08540 (609) 734-3336 uucp: ihnp4!princeton!siemens!fwb or astrovax!siemens!fwb CSNet: fwb@siemens.com ARPA(?): fwb%siemens.com@RELAY.CS.NET "From there to here, from here to there, funny things are everywhere." - Dr. Seuss
art@MITRE.ARPA (Art McClinton) (12/17/87)
It is possible to use DECnet to open a logical link to a process using the username and password. This can be done from within a program or from DCL. The possible error messages that you can get for the link not being established are: invalid username and invalid password. I think that this will totally solve your problem. Obviously, if the link is established, then both the account and password are valid. In this case drop the link and continue. Note that this does require that the DECnet network be up and running. It does not require a DECnet license to run DECnet on your own machine, only do connect to other machines. DECnet has some nice features that may make it useful to run it even if you are not networked to anyt other machine. This solution to password validation has been used before. The coding excersice is trivial. Stating that it is a security hole is a cop-out by the DECie that did not know how to do it. * *---Art * *Arthur T. McClinton Jr. ARPA: ART@MITRE.ARPA *Mitre Corporation MS-Z305 Phone: 703-883-6356 *1820 Dolley Madison Blvd Internal Mitre: ART@MWVMS or M10319@MWVM *McLean, Va. 22102 DECUS DCS: MCCLINTON * =-=- This note is in response to yours which follows -=-= In article <1288@inco.UUCP> fennell@inco.UUCP (Tim Fennell) writes: > > I need to find a VMS utility that will allow me to > validate a User ID and password. > ... I can't find a SYS$ or LIB$ > funtion that will help. If anybody knows of a way > please, help!! DEC has nothing in the libraries to help you. I had the same need and called DEC software support. Their response was "We do not support this, and never will, because it is a possible security loophole." The guy mentioned that some recent DECUS VAXSIG tape had some user software which would do the job. I did not follow this up because I don't want to support that software when DEC changes their encryption algorithm. If there is software for this on a SIG tape, perhaps some kind person can post it. Fred ---------------------------------------------------------------------------- Frederic W. Brehm Siemens Research and Technology Laboratories 105 College Road East Princeton, NJ 08540 (609) 734-3336 uucp: ihnp4!princeton!siemens!fwb or astrovax!siemens!fwb CSNet: fwb@siemens.com ARPA(?): fwb%siemens.com@RELAY.CS.NET "From there to here, from here to there, funny things are everywhere." - Dr. Seuss
rrk@byuvax.bitnet (12/18/87)
The algorythm is in the microfische, but I don't remember exactly where.
sparacin@tilde.csc.ti.com (Keith Sparacin) (12/19/87)
>In article <1288@inco.UUCP> fennell@inco.UUCP (Tim Fennell) writes: >> >> I need to find a VMS utility that will allow me to >> validate a User ID and password. > >> ... I can't find a SYS$ or LIB$ >> funtion that will help. If anybody knows of a way >> please, help!! > I don't know about a VMS utility but there are calls you can make in VMS 4.7 (and earlier???) to validate a password. Use sys$getuai to get the UAF record for the username of interest. Use lgi$hpwd to hash your password and compare it with the UAF password. --------------------------------------------------------------- Keith Sparacin csnet: sparacin@ti-csl.csnet uucp: smu!ti-csl!sparacin arpanet: sparacin%ti-csl@relay.cs.net
mbr@beta.UUCP (Mike Rose) (12/19/87)
In article <1288@inco.UUCP> fennell@inco.UUCP (Tim Fennell) writes: >>> I need to find a VMS utility that will allow me to >>> validate a User ID and password. Someone, somewhere else writes >>Their [DEC] response was "We do not support this, >>and never will, because it is a possible security loophole." In article <8712171512.AA06909@mitre.arpa> art@MITRE.ARPA (Art McClinton) writes: >Stating that it is a security hole is a cop-out by the DECie that did not >know how to do it. I doubt that is the case. It is very easy to do, provided you leave a security hole. The routine HPWD.MAR in the fiche will hash a password, this can then be compared to the password(s) in the UAF with the $getuai system service. The security hole is that someone can then try lots of different passwords for a username without the intrusion detection system getting fired up or the attempts being logged. HPWD.MAR is documented, though poorly. (it has a 4 word description of each parameter required). I have routines that call it and check passwords, etc and will mail them to anyone. Unfortunately they are useless without the source code for HPWD.MAR, which I won't post because I don't know if it's legal to do so. There is no global entry point for LGI$HPWD. >It is possible to use DECnet to open a logical link to a process using the >username and password. Yes, it is possible. Starting up processes is a real cpu hog though. Also, if you are using usernames with two passwords only the first password is checked on network logins. The second is ignored. Mike Rose mbr@lanl.gov
IMHW400@INDYVAX.BITNET (12/20/87)
Mike Rose <BETA!MBR@HC.DSPO.GOV> writes: >I doubt that is the case. It is very easy to do, provided you leave >a security hole. The routine HPWD.MAR in the fiche will hash a >password, this can then be compared to the password(s) in the UAF >with the $getuai system service. The security hole is that someone >can then try lots of different passwords for a username without the >intrusion detection system getting fired up or the attempts being logged. > >HPWD.MAR is documented.... May I point out that, if HPWD is documented then the security hole is already there. Anybody with access to the 'fiche can just recode it. It is not possible to defend a published algorithm by simply by making one realization of it hard to get at. Note that DEC could easily provide a system service to validate access information, that *would* trigger the intrusion detection system if necessary. It is difficult to conceive a legitimate use for such validation that would be harmed by such detection; most applications would do well to log such events. }flame on{ If DEC would implement logged validation, and *finish* the implementation of SETUAI (so that one could make *new* SYSUAF entries with properly hashed passwords, given sufficient privilege), then only crackers would have more than academic interest in this poor little routine, obviating further explanation. As it is, there must be hundreds of programmers trying to figure out how to use HPWD for their legitimate applications, which surely must increase our exposure to illegitimate uses. }flame off{ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Mark H. Wood (317)274-0749 Indiana University - Purdue University at Indianapolis 799 West Michigan Street, ET 1023 Indianapolis, IN 46202 USA [@disclaimer@]
mbr@beta.UUCP (Mike Rose) (12/22/87)
In article <8712192213.AA27374@ucbvax.Berkeley.EDU> IMHW400@INDYVAX.BITNET writes: >May I point out that, if HPWD is documented then the security hole is already >there. Anybody with access to the 'fiche can just recode it. That is not true. The hole is only there when you can somehow inquire if a password is correct for a particular username. A non-privileged user recoding the algorithm has nothing, since they cannot obtain the hashed version of the correct password from the uaf. >Note that DEC could easily provide a system service to validate access >information, that *would* trigger the intrusion detection system if necessary. >It is difficult to conceive a legitimate use for such validation that would >be harmed by such detection; most applications would do well to log such >events. I agree. Mike Rose mbr@lanl.gov
jmb@beach.cis.ufl.edu (John M Boof) (12/23/87)
In the above-referenced article, mbr@beta.UUCP (Mike Rose) writes: >In article <8712192213.AA27374@ucbvax.Berkeley.EDU> IMHW400@INDYVAX.BITNET writes: >>May I point out that, if HPWD is documented then the security hole is already >>there. Anybody with access to the 'fiche can just recode it. > >That is not true. The hole is only there when you can somehow inquire >if a password is correct for a particular username. A non-privileged >user recoding the algorithm has nothing, since they cannot obtain the >hashed version of the correct password from the uaf. Ah, but GETUAI will give the hashed password and all UAF information for any user in your Group ID (UIC) - at least on the VAXes I have used. This caused quite a scare for some, since there are many devious-minded users on our main VAX. It has been taken care of on this one cluster, but other VAXes I use will still let you get that info. ...JMBoof _________________________ in order of preference: darpa-internet: VAX/VMS: boof%oak.decnet@pine.circa.ufl.edu or boof@pine.circa.ufl.edu uucp: Gould,UNIX: ... !ihnp4!codas!ufcsv!beach.cis.ufl.edu!jmb bitnet: VAX/VMS: boof@ufpine or boof@ifasgnv IBM CMS: $$$YEQ#@NERVM _________________________
jmb@BEACH.CIS.UFL.EDU (John M Boof) (12/23/87)
----------------------------Original message---------------------------- In the above-referenced article, mbr@beta.UUCP (Mike Rose) writes: >In article <8712192213.AA27374@ucbvax.Berkeley.EDU> IMHW400@INDYVAX.BITNET writes: >>May I point out that, if HPWD is documented then the security hole is already >>there. Anybody with access to the 'fiche can just recode it. > >That is not true. The hole is only there when you can somehow inquire >if a password is correct for a particular username. A non-privileged >user recoding the algorithm has nothing, since they cannot obtain the >hashed version of the correct password from the uaf. Ah, but GETUAI will give the hashed password and all UAF information for any user in your Group ID (UIC) - at least on the VAXes I have used. This caused quite a scare for some, since there are many devious-minded users on our main VAX. It has been taken care of on this one cluster, but other VAXes I use will still let you get that info. ------------------------------- End of forwarded mesage -------------- According to manual 8D, system service reference manual, page SYS-291, $GETUAI uses the following table to determine the nessary privs. -> BYPASS or SYSPRV -- allows access to any record in the UAF -> GRPPRV -- Allows access to any record in the UAF whose UIC group matches that of the requestor -> No privilege -- allows access only to record with uic matching that of the requestor. So... Becarefull with privs. And I admit, dec sure didn't point this one out Bruce <xrbeo@vpfvm> on bitnet
cfchiesa@bsu-cs.UUCP (Christopher F. Chiesa) (12/23/87)
In article <13592@beta.UUCP>, mbr@beta.UUCP (Mike Rose) writes: > In article <8712192213.AA27374@ucbvax.Berkeley.EDU> IMHW400@INDYVAX.BITNET writes: > >May I point out that, if HPWD is documented then the security hole is already > >there. Anybody with access to the 'fiche can just recode it. > > That is not true. The hole is only there when you can somehow inquire > if a password is correct for a particular username. A non-privileged > user recoding the algorithm has nothing, since they cannot obtain the > hashed version of the correct password from the uaf. > Oh, really? A college sophomore here at BSU sent me a mail message one day saying "run such-and-such program in my area..." - I ran it and was shown the binary string representing the hashed version of my password. It would be simplicity itself for that program to just happen to write said password, along with my username, into a log file. Anyone with access to the file could then run the program on their OWN area, reading their OWN password, play with their password until their bit-pattern matched MY bit-pattern, and have a valid password to use to log into my account. Sort of "reverse engineering," but there is some evidence lately (mysterious breakins to user accounts) that it works... And, incidentally, a file which could be written in that sophomore's directory, by his program run from MY username, would of necessity have RW access to my username; if he were to unleash this thing on the "public" (say, as an unannounced adjunct to a "public-access" program, of which there are probably hundreds here), that would imply W:RW access, meaning that soon there'd be a file full of passwords that EVERYONE could peek into at leisure. BIG security hole, if you ask me. Incidentally, I DID mean to say "A valid password..." above, rather than "THE..." -- this soph and I verified that I obtained the SAME bit-pattern from TWO slightly-different passwords, and that EITHER password would allow access to my account after using SET PASSWORD to set EITHER of them as my "real" password. Hole, hole, HOLE!!! Chris Chiesa ..!rutgers!iuvax!bsu-cs!cfchiesa
tihor@acf4.UUCP (Stephen Tihor) (12/24/87)
It is for this reason that the VMS passwords are salted from the username.
sommar@enea.UUCP (Erland Sommarskog) (12/28/87)
Christopher F. Chiesa (cfchiesa@bsu-cs.UUCP) writes: >Oh, really? A college sophomore here at BSU sent me a mail message one day >saying "run such-and-such program in my area..." - I ran it and was shown the >binary string representing the hashed version of my password. It would be >simplicity itself for that program to just happen to write said password, >along with my username, into a log file. Anyone with access to the file Since you don't seem to be more careful; wouldn't it just be easier to look over your shoulder when you type your username? User running programs they don't know of are a much bigger security hole than any official encryption algorithm. -- Erland Sommarskog ENEA Data, Stockholm sommar@enea.UUCP C, it's a 3rd class language, you can tell by the name.
sfmailer@CHPC.BRC.UTEXAS.EDU ("Store and Forward Mailer") (12/28/87)
Mail delivery failed to the following addresses: To: UTCSR::HASAN First attempt failed, will continue to retry for 3 days. %MAIL-E-LOGLINK, error creating network link to node UTCSR -SYSTEM-F-LINKEXIT, network partner exited ----------Returned Message Follows---------- From: MAILER Subject: [From: INFO-VAX@KL.SRI.COM] Re: USER ID PASS VALIDATION ON VMS Return-Path: <@KL.SRI.COM,@CUNYVM.CUNY.EDU:XRBEO@VPFVM.BITNET> Received: from KL.SRI.COM by chpc.brc.utexas.edu ; 28 Dec 87 09:37:44 CDT Received: from CUNYVM.CUNY.EDU by KL.SRI.COM with TCP; Mon 28 Dec 87 05:03:38-PST Received: from VPFVM.NSESCC.GSFC.NASA.GOV by CUNYVM.CUNY.EDU ; Mon, 28 Dec 87 08:03:51 EST Received: by VPFVM (Mailer X1.24) id 7877; Mon, 28 Dec 87 08:01:11 EST Resent-Date: Mon, 28 Dec 87 07:55:20 EST Resent-From: Bruce O'Neel <XRBEO%VPFVM.BITNET@CUNYVM.CUNY.EDU> Resent-To: INFO-VAX@KL.SRI.COM Received: from PSUVM.BITNET by VPFVM.NSESCC.GSFC.NASA.GOV (Mailer X1.24) with BSMTP id 5130; Thu, 24 Dec 87 06:37:43 EST Received: by PSUVM (Mailer X1.24) id 8640; Thu, 24 Dec 87 06:35:36 EST Date: Wed, 23 Dec 87 01:11:56 GMT Reply-To: INFO-VAX@KL.SRI.COM Sender: INFO-VAX Discussion <INFO-VAX%VTVM2.BITNET@CUNYVM.CUNY.EDU> Comments: Warning -- original Sender: tag was info-vax-request@kl.sri.com From: John M Boof <beach.cis.ufl.edu!jmb@bikini.cis.ufl.edu> Subject: Re: USER ID PASS VALIDATION ON VMS Comments: To: info-vax@kl.sri.com To: Bruce O'Neel <XRBEO@VPFVM> ----------------------------Original message---------------------------- In the above-referenced article, mbr@beta.UUCP (Mike Rose) writes: >In article <8712192213.AA27374@ucbvax.Berkeley.EDU> IMHW400@INDYVAX.BITNET writes: >>May I point out that, if HPWD is documented then the security hole is already >>there. Anybody with access to the 'fiche can just recode it. > >That is not true. The hole is only there when you can somehow inquire >if a password is correct for a particular username. A non-privileged >user recoding the algorithm has nothing, since they cannot obtain the >hashed version of the correct password from the uaf. Ah, but GETUAI will give the hashed password and all UAF information for any user in your Group ID (UIC) - at least on the VAXes I have used. This caused quite a scare for some, since there are many devious-minded users on our main VAX. It has been taken care of on this one cluster, but other VAXes I use will still let you get that info. ------------------------------- End of forwarded mesage -------------- According to manual 8D, system service reference manual, page SYS-291, $GETUAI uses the following table to determine the nessary privs. -> BYPASS or SYSPRV -- allows access to any record in the UAF -> GRPPRV -- Allows access to any record in the UAF whose UIC group matches that of the requestor -> No privilege -- allows access only to record with uic matching that of the requestor. So... Becarefull with privs. And I admit, dec sure didn't point this one out Bruce <xrbeo@vpfvm> on bitnet ------
mbr@beta.UUCP (Mike Rose) (01/04/88)
In article <1740@bsu-cs.UUCP> cfchiesa@bsu-cs.UUCP (Christopher F. Chiesa) writes: >Oh, really? A college sophomore here at BSU sent me a mail message one day >saying "run such-and-such program in my area..." - I ran it and was shown the >binary string representing the hashed version of my password. Of course: the hashed password that you can get from $getuai is the password for the username running the program, not the password for the username that wrote the program. (btw, running a college sophomore's program without knowing exactly what it does is probably not a real good idea, unless done from a username with no privs, no files you aren't willing to have destroyed, etc. or unless you really trust the sophomore.) >Anyone with access to the file >could then run the program on their OWN area, reading their OWN password, >play with their password until their bit-pattern matched MY bit-pattern, >and have a valid password to use to log into my account. This won't work. Part of the hashed password is your username. Two usernames with the same password will have different hashed passwords. There is also a random number (the "salt") mashed in there. >if he were to unleash this thing on >the "public" (say, as an unannounced adjunct to a "public-access" program, >of which there are probably hundreds here), that would imply W:RW access, >meaning that soon there'd be a file full of passwords that EVERYONE could >peek into at leisure. BIG security hole, if you ask me. The "big security hole" is everyone running just any old "public-access program". I also think you exaggerate the ease of somehow inverting hashed passwords to give plaintext. The algorithm was designed to make this difficult. If you have some insight into how to do this or examples of it being done I'd like to hear them. >this soph and I verified that I obtained the SAME bit-pattern >from TWO slightly-different passwords, and that EITHER password would allow >access to my account after using SET PASSWORD to set EITHER of them as my >"real" password. Hole, hole, HOLE!!! I'm real curious about this. Would you send me details? -Mike Rose mbr@lanl.gov
mbr@beta.UUCP (Mike Rose) (01/04/88)
In article <9909@ufcsv.cis.ufl.EDU> jmb@beach.cis.ufl.edu (John M Boof) writes: >Ah, but GETUAI will give the hashed password and all UAF information for >any user in your Group ID (UIC) - at least on the VAXes I have used. According to the system services reference manual that is only true if you have the privilege GRPPRV. I tested this under VMS 4.6 and it is implemented as described in the manual. Does everyone have GRPPRV on your VAXen? Mike Rose mbr@lanl.gov
kml@beach.cis.ufl.edu (Kevin M. Lahey) (01/07/88)
In article <13921@beta.UUCP> mbr@beta.UUCP (Mike Rose) writes: >In article <9909@ufcsv.cis.ufl.EDU> jmb@beach.cis.ufl.edu (John M Boof) writes: >>Ah, but GETUAI will give the hashed password and all UAF information for >>any user in your Group ID (UIC) - at least on the VAXes I have used. > >I tested this under VMS 4.6 and it is implemented as described ^^^ >in the manual. Does everyone have GRPPRV on your VAXen? > >Mike Rose >mbr@lanl.gov Try under version 4.5 before the emergency patch issued by DEC. It didn't behave the way the manuals claim -- thats why it was a BUG, not a feature :-) Now, does anybody have a reasonable explanation of how such an INCREDIBLE hole made it into the final release? I mean -- thats just the sorta new system service all the hacker types would just love to play with. Even better, why doesn't somebody explain why it is so horrible that we could get other people's names and hashed passwords -- you can do it on UNIX, an operating system which is a hell of a lot more secure than you folks seem to think. Cheers, Kevin -- -------------------------------------------------------------------------------- Kevin Lahey UUCP: ...ihnp4!codas!ufcsv!beach.cis.ufl.edu!kml University of Florida, CIS Internet: kml@beach.cis.ufl.edu
cfchiesa@bsu-cs.UUCP (Christopher F. Chiesa) (01/09/88)
In article <13920@beta.UUCP>, mbr@beta.UUCP (Mike Rose) writes: > In article <1740@bsu-cs.UUCP> cfchiesa@bsu-cs.UUCP (Christopher F. Chiesa) writes: > >Oh, really? A college sophomore here at BSU sent me a mail message one day > >saying "run such-and-such program in my area..." - I ran it and was shown the > >binary string representing the hashed version of my password. > > (btw, running a college sophomore's > program without knowing exactly what it does is probably not a real > good idea, unless done from a username with no privs, no files you > aren't willing to have destroyed, etc. or unless you really trust > the sophomore.) Nobody here, except the system manager(s), has any priv other than TMPMBX. I couldn't mess up any file but my own (or those of someone who's deliberately granting me access) even if I wanted to, which I don't. And it's SOP for stu- dents to consult with each other a la "How do I ..." and "here's how I..." matters, such as using system services (this kid and I are among only a hand- ful of people I'm aware of who even know what a system service IS...), so I trust him to a certain degree. > >this soph and I verified that I obtained the SAME bit-pattern > >from TWO slightly-different passwords, and that EITHER password would allow > >access to my account after using SET PASSWORD to set EITHER of them as my > >"real" password. Hole, hole, HOLE!!! > > I'm real curious about this. Would you send me details? I'll try, but first I'll have to rewrite the program the soph was using; he got rid of it due to fears (justified, I might add) that the system admini- strators might vent their wrath on him for daring to use $GETUAI ... Chris Chiesa Senior, CS Dept. Ball State University Muncie, IN