Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
What's the API for MD5 encryption?
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 26 - 49 of 49 - Collapse all  -  Translate all to Translated (View all originals) < Older 
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
boltar2...@boltar.world  
View profile  
 More options Aug 30 2012, 4:34 am
Newsgroups: comp.unix.programmer
From: boltar2...@boltar.world
Date: Thu, 30 Aug 2012 08:34:56 +0000 (UTC)
Local: Thurs, Aug 30 2012 4:34 am
Subject: Re: What's the API for MD5 encryption?
On Wed, 29 Aug 2012 17:36:59 +0100

Nobody <nob...@nowhere.com> wrote:
>On Tue, 28 Aug 2012 14:32:03 +0000, boltar2003 wrote:

>> On Tue, 28 Aug 2012 15:01:16 +0100
>> Nobody <nob...@nowhere.com> wrote:
>>>However: if you're authenticating users on Linux, you should use PAM. This

>> Thankful the system I'm working on (Slackware) doesn't use that over
>> engineered dogs dinner.

>Which is probably why Slackware doen't really see anything beyond hobby
>use nowadays.

>There are many environments where password authentication just isn't good

Really? So what sort of authentication are you thinking of? Dongle? Retina
scan? Fingerprint? Can't say I've ever seen any of those used on any unix
servers I've worked on.

B2003


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Rainer Weikusat  
View profile  
 More options Aug 30 2012, 5:54 am
Newsgroups: comp.unix.programmer
From: Rainer Weikusat <rweiku...@mssgmbh.com>
Date: Thu, 30 Aug 2012 10:54:33 +0100
Local: Thurs, Aug 30 2012 5:54 am
Subject: Re: What's the API for MD5 encryption?

Ian Collins <ian-n...@hotmail.com> writes:
> On 08/30/12 10:36 AM, Rainer Weikusat wrote:
>> William Ahern<will...@wilbur.25thandClement.com>  writes:

[...]

>>> If you think it's good design to require that a process merely verifying a
>>> system password have euid=0, then there's nothing to discuss.

>> I was asking for *YOUR* thoughts on this, not writing about
>> mine. And the statement above is phantasy -- a process whose sole
>> privileged operation is 'verify a system password' needs the
>> necessary privileges to enable it to access the corresponding password
>> hash. For the usual, simple case this means 'having read permissions on
>> the password file'. What is required for that depends on the
>> filesystem permissions of this file, not on any particular
>> authentication scheme.

> The simple case is probably the exception.  Most networked systems use
> something other than files for authentication.

The (possibily intentional) problem with 'blanket statements' like
your's (or William Ahern's) is that they are not really meaningful on
their own: In order to turn them into an actual example, the party who
didn't write them has to make some assumptions about the context (if
any) the original writer thought of. And this is a very inefficient
way of conducting a discussion (it may be a very efficient way to
avoid a discussion or to kill a discussion, however).

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Rainer Weikusat  
View profile  
 More options Aug 30 2012, 5:57 am
Newsgroups: comp.unix.programmer
From: Rainer Weikusat <rweiku...@mssgmbh.com>
Date: Thu, 30 Aug 2012 10:57:25 +0100
Local: Thurs, Aug 30 2012 5:57 am
Subject: Re: What's the API for MD5 encryption?

This would imply that the ordinary UNIX(*) DAC mechanism is beyond
your understanding. By extension, this is also a statement about your
opinion about PAM :->.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Rainer Weikusat  
View profile  
 More options Aug 30 2012, 6:18 am
Newsgroups: comp.unix.programmer
From: Rainer Weikusat <rweiku...@mssgmbh.com>
Date: Thu, 30 Aug 2012 11:18:11 +0100
Local: Thurs, Aug 30 2012 6:18 am
Subject: Re: What's the API for MD5 encryption?

William Ahern <will...@wilbur.25thandClement.com> writes:

[...]

> And in particular, PAM requires euid=0 to guarantee the loaded
> authentication mechanism has the proper privileges to acquire any
> indeterminate resource. Therefore, PAM is deficient and defective
> IMO, and inferior to BSD Auth.

> There are all manner of ways to hack PAM, like emulating BSD Auth by
> executing external programs from a loaded mechanism,

And there are all manners to 'hack' BSD system authentication, such as
running the strcmp(input, crypt(...)) from a dediciated process with
'euid 0' but that still leaves you with the 'password verifying
process' running with elevated privileges, it's just a different
process. Also, since BSD Auth just requires 'adding a program', a
program doing authentication via PAM could be added. Would this now
cause PAM to become good or BSD Auth to become bad? These are really
just tangential questions. What I'm looking for is something like 'The
BSD Auth protocol can do xxx, xxx being a good thing. The PAM protocol
can't do xxx because of ...'. That would be a criticism of PAM
itself. 'The way PAM is commonly used implies ... and this is a bad
thing because of ...' would be a different question. Also, if 'because
of ...' really boils down to 'because of the hypothetical software
error' it evaporates into nothing: It should be possible to locate a
phrack edition containing an article which was roughly titled
'Exploiting BSD (or OpenBSD) kernel vulnerabilities for fun and
profit' written to mock Theo de Raadt's conviction that 'the
hypothetical software error' will only ever occur in code which
doesn't cause 'privsep' to break down. It ain't so.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
boltar2...@boltar.world  
View profile  
 More options Aug 30 2012, 6:30 am
Newsgroups: comp.unix.programmer
From: boltar2...@boltar.world
Date: Thu, 30 Aug 2012 10:30:39 +0000 (UTC)
Local: Thurs, Aug 30 2012 6:30 am
Subject: Re: What's the API for MD5 encryption?
On Thu, 30 Aug 2012 11:18:11 +0100

Rainer Weikusat <rweiku...@mssgmbh.com> wrote:
>And there are all manners to 'hack' BSD system authentication, such as
>running the strcmp(input, crypt(...)) from a dediciated process with
>'euid 0' but that still leaves you with the 'password verifying

If there is an unauthorised program running as root then your system
is already hacked making the issue of decrypting user passwords moot.

B2003


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Casper H. S. Dik  
View profile  
 More options Aug 30 2012, 6:40 am
Newsgroups: comp.unix.programmer
From: Casper H.S. Dik <Casper....@OrSPaMcle.COM>
Date: 30 Aug 2012 10:39:59 GMT
Local: Thurs, Aug 30 2012 6:39 am
Subject: Re: What's the API for MD5 encryption?

Rainer Weikusat <rweiku...@mssgmbh.com> writes:
>...                                         Also, if 'because
>of ...' really boils down to 'because of the hypothetical software
>error' it evaporates into nothing: It should be possible to locate a
>phrack edition containing an article which was roughly titled
>'Exploiting BSD (or OpenBSD) kernel vulnerabilities for fun and
>profit' written to mock Theo de Raadt's conviction that 'the
>hypothetical software error' will only ever occur in code which
>doesn't cause 'privsep' to break down. It ain't so.

I remember also some issue in OpenSSH which was *caused* by privsep.

privsep often adds more code and more code gives more
bugs and some of the bugs land on the wrong side of the
divide.

Casper


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Anonymous  
View profile  
 More options Aug 30 2012, 8:49 am
Newsgroups: comp.unix.programmer
From: Anonymous <nob...@remailer.paranoici.org>
Date: Thu, 30 Aug 2012 12:49:46 +0000 (UTC)
Local: Thurs, Aug 30 2012 8:49 am
Subject: Re: What's the API for MD5 encryption?

RSA pubkey auth. Passwords are magnitudes weaker..

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Rainer Weikusat  
View profile  
 More options Aug 30 2012, 9:50 am
Newsgroups: comp.unix.programmer
From: Rainer Weikusat <rweiku...@mssgmbh.com>
Date: Thu, 30 Aug 2012 14:50:04 +0100
Local: Thurs, Aug 30 2012 9:50 am
Subject: Re: What's the API for MD5 encryption?

Rainer Weikusat <rweiku...@mssgmbh.com> writes:

[...]

> It should be possible to locate a phrack edition containing an
> article which was roughly titled 'Exploiting BSD (or OpenBSD) kernel
> vulnerabilities for fun and profit'

Link to that:

http://www.phrack.org/issues.html?issue=60&id=6&mode=txt

This was released on 28/12/2002 and this means that this particular
way to exploit a kernel error has meanwhile probably been 'obfuscated
away' to a serious degree and the error itself has - at least I hope
so - been fixed.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
James K. Lowden  
View profile  
 More options Aug 30 2012, 11:37 am
Newsgroups: comp.unix.programmer
From: "James K. Lowden" <jklow...@speakeasy.net>
Date: Thu, 30 Aug 2012 11:37:50 -0400
Local: Thurs, Aug 30 2012 11:37 am
Subject: Re: What's the API for MD5 encryption?
On Tue, 28 Aug 2012 20:35:56 -0700

(Many thanks for that cogent description!)

On Tue, 28 Aug 2012 22:26:18 +0100
Rainer Weikusat <rweiku...@mssgmbh.com> responded:

> A cursory search on that basically yielded that "PAM is fundamentally
> broken" is identical to "It doesn't contain enough voodoo code
> supposed to deal with 'the unknown programming error which never
> occurs in the privileged code of OUR system'" to please (some of) the
> OpenBSD developers. IMO, people who come up with all kinds of
> contrived programming obstacles based on the assumption that these
> might be able to mitigate the effects of 'the unknown programming
> error which never occurs in the privileged code of OUR system' are
> 'fundamentally broken' --- they are apparently incapable of
> understanding that the problem "I'm afraid of this huge mass of
> existing code I don't fully understand" cannot be solved by "Let's add
> some code!"

Rainer,

William Ahern didn't say anything about which OS he uses.  The word
"hypothetical" doesn't appear in his post. He makes no reference to
unknown programming errors, nor any assertion about the quality of the
kernel.  

If you're going to attack his argument, it would be more productive to
engage something he actually said.  

He sums up his case this way:

> PAM requires euid=0 to guarantee the loaded authentication mechanism
> has the proper privileges to acquire any indeterminate resource.
> Therefore, PAM is deficient and defective IMO, and inferior to BSD
> Auth.

That seems pretty solid to me.  If you disagree, why don't you start
there?  

--jkl


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Rainer Weikusat  
View profile  
 More options Aug 30 2012, 12:40 pm
Newsgroups: comp.unix.programmer
From: Rainer Weikusat <rweiku...@mssgmbh.com>
Date: Thu, 30 Aug 2012 17:40:55 +0100
Local: Thurs, Aug 30 2012 12:40 pm
Subject: Re: What's the API for MD5 encryption?
"James K. Lowden" <jklow...@speakeasy.net> writes:

[...]

>> PAM requires euid=0 to guarantee the loaded authentication mechanism
>> has the proper privileges to acquire any indeterminate resource.
>> Therefore, PAM is deficient and defective IMO, and inferior to BSD
>> Auth.

> That seems pretty solid to me.  If you disagree, why don't you start
> there?

Because I was asking him what he meant with 'PAM is fundamentally
broken'. And I'm not going to tbe drawn into a 'reverse fan war' just
to distract from the fact that nothing specifically related to PAM
came up so far.

BTW, depending on the OS in question, 'euid 0' might not be suffcient
to 'to guarantee the loaded authentication mechanism has the proper
privileges to acquire any indeterminate resource' and - also depending
on the OS and its configuration - it might not be required. And, of
course, the 'BSD authentication programs' require sufficient
privileges 'to guarantee' that they have 'the proper privileges to
acquire any indeterminate resource' as well, consequently, the
statement above is a red herring.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
William Ahern  
View profile  
 More options Aug 30 2012, 5:45 pm
Newsgroups: comp.unix.programmer
From: William Ahern <will...@wilbur.25thandClement.com>
Date: Thu, 30 Aug 2012 14:37:49 -0700
Local: Thurs, Aug 30 2012 5:37 pm
Subject: Re: What's the API for MD5 encryption?

The following has garnered a sizeable following _outside_ of enterprise
(where RSA--the company--reigns supreme), at least compared to the public
key crypto alternatives:

        http://www.yubico.com/

They sell a hash-based one-time-password (HOTP) USB key fob which appears as
a keyboard device to the client computer. When you push the button it prints
the next password, followed by a newline character. So it'll work without
any client-side software, and works seamlessly with simple web applications.

On the server side it requires special handling, but easily integrates with
PAM or BSD Auth. Yubico also sells an HSM to store and validate the secrets,
but it's a little pricey. (I received a beta version which I've been meaning
to play around with for the past year or so). Most people will just store
the shared secrets on the filesystem.

The sheer simplicitly far outweighs the issues with HOTP, IMO.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
William Ahern  
View profile  
 More options Aug 30 2012, 7:15 pm
Newsgroups: comp.unix.programmer
From: William Ahern <will...@wilbur.25thandClement.com>
Date: Thu, 30 Aug 2012 16:03:17 -0700
Local: Thurs, Aug 30 2012 7:03 pm
Subject: Re: What's the API for MD5 encryption?
Casper H.S. Dik <Casper....@orspamcle.com> wrote:

> Rainer Weikusat <rweiku...@mssgmbh.com> writes:
> >...                                            Also, if 'because
> >of ...' really boils down to 'because of the hypothetical software
> >error' it evaporates into nothing: It should be possible to locate a
> >phrack edition containing an article which was roughly titled
> >'Exploiting BSD (or OpenBSD) kernel vulnerabilities for fun and
> >profit' written to mock Theo de Raadt's conviction that 'the
> >hypothetical software error' will only ever occur in code which
> >doesn't cause 'privsep' to break down. It ain't so.
> I remember also some issue in OpenSSH which was *caused* by privsep.
> privsep often adds more code and more code gives more
> bugs and some of the bugs land on the wrong side of the
> divide.

I wouldn't argue that. But with BSD Auth, the privsep is already
implemented, and it's simpler then how it works in, e.g., OpenSSH.

With PAM you have to jump through hoops to deal with the fact that you need
root privileges just to check a password. There's no such hoop jumping
required with BSD Auth.

Also, FWIW, privsep has mitigated more bugs in OpenSSH than it's created or
exacerbated. (I'll risk leaving that claim without substantiation 'cause
I've got a meeting ;)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Nobody  
View profile  
 More options Aug 30 2012, 8:42 pm
Newsgroups: comp.unix.programmer
From: Nobody <nob...@nowhere.com>
Date: Fri, 31 Aug 2012 01:43:02 +0100
Local: Thurs, Aug 30 2012 8:43 pm
Subject: Re: What's the API for MD5 encryption?

On Thu, 30 Aug 2012 08:34:56 +0000, boltar2003 wrote:
>>There are many environments where password authentication just isn't good

> Really? So what sort of authentication are you thinking of? Dongle? Retina
> scan? Fingerprint? Can't say I've ever seen any of those used on any unix
> servers I've worked on.

SecurID and smart cards were both fairly popular the last time I worked
in Unix sysadmin (around 6 years ago).

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
boltar2...@boltar.world  
View profile  
 More options Aug 31 2012, 5:37 am
Newsgroups: comp.unix.programmer
From: boltar2...@boltar.world
Date: Fri, 31 Aug 2012 09:37:08 +0000 (UTC)
Local: Fri, Aug 31 2012 5:37 am
Subject: Re: What's the API for MD5 encryption?
On Thu, 30 Aug 2012 14:37:49 -0700

William Ahern <will...@wilbur.25thandClement.com> wrote:
>They sell a hash-based one-time-password (HOTP) USB key fob which appears as
>a keyboard device to the client computer. When you push the button it prints

Great - until the fob is lost.

B2003


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
boltar2...@boltar.world  
View profile  
 More options Aug 31 2012, 5:40 am
Newsgroups: comp.unix.programmer
From: boltar2...@boltar.world
Date: Fri, 31 Aug 2012 09:40:18 +0000 (UTC)
Local: Fri, Aug 31 2012 5:40 am
Subject: Re: What's the API for MD5 encryption?
On Fri, 31 Aug 2012 01:43:02 +0100

Nobody <nob...@nowhere.com> wrote:
>On Thu, 30 Aug 2012 08:34:56 +0000, boltar2003 wrote:

>>>There are many environments where password authentication just isn't good

>> Really? So what sort of authentication are you thinking of? Dongle? Retina
>> scan? Fingerprint? Can't say I've ever seen any of those used on any unix
>> servers I've worked on.

>SecurID and smart cards were both fairly popular the last time I worked
>in Unix sysadmin (around 6 years ago).

What on earth for? Here sudo on the servers is disallowed and root can only
log in from the consoles in the server room which itself is security code
protected. Anyone who can steal a server room pass can also steal a securID
fob so it adds nothing to security , just extra admin hassle not to mention
the licensing costs.

B2003


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Rainer Weikusat  
View profile  
 More options Aug 31 2012, 8:40 am
Newsgroups: comp.unix.programmer
From: Rainer Weikusat <rweiku...@mssgmbh.com>
Date: Fri, 31 Aug 2012 13:40:06 +0100
Local: Fri, Aug 31 2012 8:40 am
Subject: Re: What's the API for MD5 encryption?

That someone else already wrote the code is another tangential fact
and - strange how it always seems to come back to that - it is equally
true for PAM. Provided that any specific implementation of 'BSD
Authentication framework' + 'OS kernel supposed to enforce the
isolation' is free of errors with security impact, applications can
use it 'securely' but again, the exact same thing is true for
PAM. Specifically, privilege separation is supposed to mitigate yet
unknown coding errors in the applications using the mechanism and from
the application standpoint, a facility protecting the application from
yet unknown bugs in the authentication code and the kernel would seem
just as necessary. "We must do something. This is
something. Therefore, we must do it." didn't become any better as
rational justification of anything in the meantime. There's also the
issue that some programs do nothing but perform privileged operations
and consequently, this scheme doesn't even work as 'sysadmin peace of
mind' device for them. So what does 'BSD Authentication' offer for
such an application, if it actually offers anything, that PAM doesn't
offer?

NB: Remembering similar discussions from the past, I'm about to come
to the conclusion that it really doesn't offer anything than the magic
TLA and assume that we will have 'Justin Bieber authentication',
catering to a different group of fans, in future, should the guy ever
'employ his talents' in that direction.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Nobody  
View profile  
 More options Aug 31 2012, 10:51 am
Newsgroups: comp.unix.programmer
From: Nobody <nob...@nowhere.com>
Date: Fri, 31 Aug 2012 15:51:35 +0100
Local: Fri, Aug 31 2012 10:51 am
Subject: Re: What's the API for MD5 encryption?

On Fri, 31 Aug 2012 09:40:18 +0000, boltar2003 wrote:
>>>>There are many environments where password authentication just isn't good

>>> Really? So what sort of authentication are you thinking of? Dongle? Retina
>>> scan? Fingerprint? Can't say I've ever seen any of those used on any unix
>>> servers I've worked on.

>>SecurID and smart cards were both fairly popular the last time I worked
>>in Unix sysadmin (around 6 years ago).

> What on earth for? Here sudo on the servers is disallowed and root can only
> log in from the consoles in the server room which itself is security code
> protected.

Those authentication methods were used for normal users.

The "root can only log in from the consoles in the server room" is
historically implented via /etc/securetty. A program which does its
own authentication has to explicitly check /etc/securetty.  Any program
which uses PAM will get this behaviour automatically (assuming that the
system-wide configuration uses the pam_securetty.so module). But
pam_access.so is more flexible, allowing you to allow/deny access to
any user or group, from IP addresses as well as ttys (requiring access
to be via console or serial tty is often inconvenient).


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Doug McIntyre  
View profile  
 More options Aug 31 2012, 12:06 pm
Newsgroups: comp.unix.programmer
From: Doug McIntyre <mer...@geeks.org>
Date: 31 Aug 2012 16:06:50 GMT
Local: Fri, Aug 31 2012 12:06 pm
Subject: Re: What's the API for MD5 encryption?

boltar2...@boltar.world writes:
>>SecurID and smart cards were both fairly popular the last time I worked
>>in Unix sysadmin (around 6 years ago).
>What on earth for? Here sudo on the servers is disallowed and root can only
>log in from the consoles in the server room which itself is security code
>protected. Anyone who can steal a server room pass can also steal a securID
>fob so it adds nothing to security , just extra admin hassle not to mention
>the licensing costs.

Many environments require accountability and logging. Ie. PCI/DSS
requires root/administrator accounts to be not used at all, and all
administrative commands to be run through either a priviledged level
unique account for each administrator, or sudo logged.

PCI/DSS and SarbOx also require two factor authorization for remote access.
The easy way to do that is with dongles, although x.509 certificates
are used as well.

When you work with multiple administrators, it is extremely useful to
have logging of what work was done when. In larger companies, this is
essential. The one lone admin can't handle it all, and knowing what
others have done last is essential.

If your computer room is in the data center across town, or accross
the country, it is pretty inconvienent to hop in the car every time
you need a change.

Also, if the secureID dongle gets lost, that doesn't provide
access. With that setup, you typically have three items. The username,
the password, and the secureID. You have to tack on the secureID
unique OTP onto the end of the password in order to get access.
Loosing the dongle gives an attacker only one piece (or maybe two if
they know the person who lost it). It does not give them all three.
Presumably, the person who lost it will report it right away and that
dongle will be disabled and audited.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
William Ahern  
View profile  
 More options Sep 1 2012, 1:15 am
Newsgroups: comp.unix.programmer
From: William Ahern <will...@wilbur.25thandClement.com>
Date: Fri, 31 Aug 2012 22:12:47 -0700
Local: Sat, Sep 1 2012 1:12 am
Subject: Re: What's the API for MD5 encryption?

IME, most unix servers are root'd from unprivileged accounts, particularly
shell accounts. Attackers break into some Windows machine and sniff
passwords, or break into some other server where they reused the same
password; log into the unix server; and then leverage any one of the myriad
local root exploits in the wild at the moment. I've seen it more times than
I can count. Most companies are clueless and don't even realize they've been
hacked until their box has been passed around--like a cheap [insert object
reference here]--to someone careless enough to leave an obvious clue.

Some unices are much, much worse than others. I got into a shouting match
with an IT manager at a corporation once, and in front of the CEO! The
manager was frustrated because I refused to use a vanilla RHES environment
for a security critical service, and he was too lazy to learn the new
system; that is, he couldn't copy+paste his commands from stack exchange--or
whatever it's equivalent was at the time. The CEO asked why I couldn't just
do what the manager wanted. I explained that the manager did what he wanted
for 3 years and was root'd twice, unnoticed for months each time. Plus, that
box was a jumping off point for several other compromises. But I'd been
doing what I wanted for about 2 years without incident, and with
significantly more accounts and traffic, and without all the useless
firewalls and bologna he had set up which--in matter of fact--merely
provided an illusion of security.**

IME, all things being equal, password authentication is undesirable no
matter how locked down your box. The simple odds are such that the attacker
got onto the box using an unprivileged, non-administrator account. His M.O.
is to elevate his privileges using an exploit in the kernel or in a process
with root privileges. Firewalls or sudo rules are unlikely to make a
difference, because those are site specific.

So, I usually try to require any shell account used by a Windows users (a
self-selective bunch) to use a token or certificate. That strengthens
defenses where they're weakest--the users' machines. Everybody else usually
use tokens or certificates without my admonishment, and I keep password auth
open for their convenience.

Requiring strong passwords doesn't solve the problem, because the more
difficult the password is to remember, the more likely they're going to
reuse it on some MS Exchange server or web application; and in any event,
password sniffers on Windows boxes are just too common. In a way that's a
good thing, because that's the low hanging fruit. Unless the victim is being
trageted specifically, if they use a certificate or token the login
credentials are likely to go unnoticed by the sniffer.

Also, what's more effective than requiring strong passwords, and/or frequent
expiration, is simply stopping dictionary attacks. That's far easier to
accomplish, and avoids pissing off your users with make-work.

** I left that job, they switched back to Linux, and the inevitable
happened. And almost the exact same scenario repeated itself at another
company.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
William Ahern  
View profile  
 More options Sep 1 2012, 1:45 am
Newsgroups: comp.unix.programmer
From: William Ahern <will...@wilbur.25thandClement.com>
Date: Fri, 31 Aug 2012 22:34:47 -0700
Local: Sat, Sep 1 2012 1:34 am
Subject: Re: What's the API for MD5 encryption?
Rainer Weikusat <rweiku...@mssgmbh.com> wrote:

<snip>

> That someone else already wrote the code is another tangential fact and -
> strange how it always seems to come back to that

I mention it not because someone else wrote it, because that someone was the
vendor, and what the vendor provided is being hammered on by every user and
is a focal point for code inspection. As opposed to ad hoc privsep
implementations.

> it is equally true for PAM.

It is equally true for PAM, but not I'm criticing the code quality of PAM,
but the design decision to use loadable modules, and in particular, not to
interpose a process boundary between the authenticating agent and the
authentication mechanism. And by authenticating agent, I mean crap like a
PHP web application.

> Provided that any specific implementation of 'BSD Authentication
> framework' + 'OS kernel supposed to enforce the isolation' is free of
> errors with security impact, applications can use it 'securely' but again,
> the exact same thing is true for PAM.

Wrong. The difference is that PAM is loaded into the process. I think it's
fair to argue that an authenticating agent, like a PHP web application or
IMAP server, has far more potentially exploitable surface area than
PAM + kernel (or BSD Auth + kernel) alone.

When using PAM, attackers get to leverage bugs in PHPFoo + PAM + kernel,
whereas with BSD Auth all they have at their disposal is BSD Auth + kernel.

> Specifically, privilege separation is supposed to mitigate yet unknown
> coding errors in the applications using the mechanism and from the
> application standpoint, a facility protecting the application from yet
> unknown bugs in the authentication code and the kernel would seem just as
> necessary. "We must do something. This is something. Therefore, we must do
> it." didn't become any better as rational justification of anything in the
> meantime. There's also the issue that some programs do nothing but perform
> privileged operations and consequently, this scheme doesn't even work as
> 'sysadmin peace of mind' device for them. So what does 'BSD
> Authentication' offer for such an application, if it actually offers
> anything, that PAM doesn't offer?

Here's how I understand your argument:

a) Privsep merely protects a broken authenticating program from itself. If
the authenticating program is broken, then it doesn't matter whether it has
root privileges because

b) the attacker will just use a kernel exploit, which usually doesn't
require root privileges.

c) All kernels are exploitable.

There are so many premises I disagree with in such an argument that I've
heretofore refrained from addressing it directly. Even though, FWIW, I'll
grant you that all kernels are exploitable.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
William Ahern  
View profile  
 More options Sep 1 2012, 1:45 am
Newsgroups: comp.unix.programmer
From: William Ahern <will...@wilbur.25thandClement.com>
Date: Fri, 31 Aug 2012 22:44:02 -0700
Local: Sat, Sep 1 2012 1:44 am
Subject: Re: What's the API for MD5 encryption?
William Ahern <will...@wilbur.25thandclement.com> wrote:

<snip>

> Some unices are much, much worse than others. I got into a shouting match
> with an IT manager at a corporation once, and in front of the CEO!
<snip>
> ** I left that job, they switched back to Linux, and the inevitable
> happened. And almost the exact same scenario repeated itself at another
> company.

To recruiters and for posterity: I left on excellent terms a year later. And
I was an engineer in a different department altogether, which is why the
dispute ended up being refereed by the CEO.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Rainer Weikusat  
View profile  
 More options Sep 1 2012, 3:15 pm
Newsgroups: comp.unix.programmer
From: Rainer Weikusat <rweiku...@mssgmbh.com>
Date: Sat, 01 Sep 2012 20:15:33 +0100
Local: Sat, Sep 1 2012 3:15 pm
Subject: Re: What's the API for MD5 encryption?

William Ahern <will...@wilbur.25thandClement.com> writes:
> Rainer Weikusat <rweiku...@mssgmbh.com> wrote:
> <snip>
>> That someone else already wrote the code is another tangential fact and -
>> strange how it always seems to come back to that

> I mention it not because someone else wrote it, because that someone was the
> vendor, and what the vendor provided is being hammered on by every user and
> is a focal point for code inspection. As opposed to ad hoc privsep
> implementations.

All of which together means exactly nothing: The code itself is
relevant for determining the technical properties of some piece of
software, not who wrote or who used or how many people allegedly used
it or to which degree one group of people writing code is admired
while other groups are despised.

>> it is equally true for PAM.

> It is equally true for PAM, but not I'm criticing the code quality of PAM,
> but the design decision to use loadable modules, and in particular, not to
> interpose a process boundary between the authenticating agent and the
> authentication mechanism. And by authenticating agent, I mean crap like a
> PHP web application.

But that's not a design descision made by the people who designed PAM:
It's the way UNIX(*) authentication has always worked until some guy,
after a streak of security errors in his code, thought that he really
needed this 'process barrier' to be at least remotely safe from crap
he and his buddies wrote together themselves in earlier times. I'm not
going to question the wisdom of this descision, at least not
seriously (OpenSSH became a lot more 'quiet' in his respect shortly
afterwards), but I question the universality of this experience: Just
because the people who nowadays champion BSD auth have a history of
creating 'security issues' and generally consider it 'hard' to avoid
them doesn't mean this is true for everyone (side note: The so-called
'Dunning-Kruger effect' might make for an interesting read in this
context :->. The more someone is convinced to be the measure of all
things created, the less likely is it that he actually is).

>> Provided that any specific implementation of 'BSD Authentication
>> framework' + 'OS kernel supposed to enforce the isolation' is free of
>> errors with security impact, applications can use it 'securely' but again,
>> the exact same thing is true for PAM.

> Wrong. The difference is that PAM is loaded into the process.

If it were free of errors, as I wrote above, this wouldn't matter. It
only matters because you have chosen to assume that 'the process' is a
lot more likely to contain security-relevant errors than 'the code
written by the vendor'. So far, I haven't used a non-trivial piece of
software written by a third party were I didn't have to fix some bugs
already contained in it and I've certainly never written something
non-trivial which didn't have bugs: All software contains coding
errors and is partially built on design errors. The reason for the
latter is usually that one's understanding of a specific problem is
greatly improved by writing code supposed to deal with it: Afterwards,
you'll know what you should have been doing instead.

> I think it's fair to argue that an authenticating agent, like a PHP
> web application or IMAP server, has far more potentially exploitable
> surface area than PAM + kernel (or BSD Auth + kernel) alone.

The kernel is larger than most programs. And 'the exploitable surface
area' of any piece of code is usually rather small: Only the parts
where untrusted data enters the system. Again, the kernel is much
worse in this respect than a typical application because it is
overwhelmingly concerned with providing services to untrusted
applications and consequently, it has a real lof of these entry
points.

[...]

It is actually much simpler: I don't think facilities supposed to
mitigate 'unknown errors' are a good idea because 'an unknown problem'
can be anything and be located everywhere, including the code
implementing the facility itself: It may help. Or it may make matters
even worse. Or have no practically relevant effects at all (Software
mechanisms intended to avoid buffer overruns or mitigate the effects
of buffer overruns don't do anything for SQL injection attacks, the
more modern consequence of broken or absent validation of untrusted
input data). And nobody knows which of it will be until 'something has
happened'[*]. Because of this, I'm much more interested in useful
features provided by 'other software' than in 'safeguards which will
hopefully help in case of nebulous future dangers'.

[*] Practical example from a completely different area: I live in a
basement flat with a small garden at the backside, separated from the
yard/ parking space behind it by a wooden door which is about my
height (1.7m). At the other side of this yard is a public footpath
commonly used by people walking home in the early morning hours after
getting drunk and drugged while partying in town. Since I like fresh
air, I usually sleep with the garden-side door of the flat
open. Strange people have entered my place by scaling the outer garden
door in the night at least twice. When this happened for the second
time, my sole winter jacket, a company-provided mobile and my piggy
bank were stolen. This naturally made me put some thought into
measures for avoiding this in future which would nevertheless enable
me to keep the garden door open. Running 2 metres of NATO barbed-wire
across the door and fence (of the same height) at the other side of
the garden would have worked nicely, but - as could be guessed - the
lettings agency people representing the flat owner found this idea
rather queer and I'm not allowed to do that (one of the arguments
brought forth against it was actually that someone who tries to enter
my flat in this way might hurt himself when coming into contact with
the barbed wire and 'might sue someone' because of this :->). Because
of his, I then did the next best thing which came to my mind: Secure
the door with rope in a way I learnt in the Navy for 'fixing' the end
of a rope such that it won't give way under heavy pressure (eg, when
mooring(term?) a ship). This will help little against someone carrying
a moderately large knife or a pair of scissors but nobody will be
able to force the open door by pulling violently, at least not without
breaking the door itself completely. I decided that guarding
against the 'common' case --- random drunk idiot trying to impress an
equally drunk women by performing 'a daring feat' which doesn't really
cost him much effort unprepared --- ought to be sufficient. So far,
this mechansim as survived at least one attempt to get past it, and
even one conducted in a more intelligent way than I had
imagined. 'Some unkown future danger' might render it completely
ineffective but until then, I prefer to sleep instead of worrying
about 'stuff which could also happen'.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ian Collins  
View profile  
 More options Sep 2 2012, 5:56 pm
Newsgroups: comp.unix.programmer
From: Ian Collins <ian-n...@hotmail.com>
Date: Mon, 03 Sep 2012 09:56:22 +1200
Local: Sun, Sep 2 2012 5:56 pm
Subject: Re: What's the API for MD5 encryption?
On 08/30/12 09:54 PM, Rainer Weikusat wrote:

I thought the "blanket statement" was your assumption that
authentication schemes all use a password file.  Saying most don't is a
simple correction.  All of the systems I manage or interact with use
some form of LDAP.

--
Ian Collins


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Rainer Weikusat  
View profile  
 More options Sep 2 2012, 6:17 pm
Newsgroups: comp.unix.programmer
From: Rainer Weikusat <rweiku...@mssgmbh.com>
Date: Sun, 02 Sep 2012 23:17:36 +0100
Local: Sun, Sep 2 2012 6:17 pm
Subject: Re: What's the API for MD5 encryption?

I made no such assumption. 'Using a local password file' just happened
to be one specific example where the 'you have to have euid==0' is
wrong: The process checking the password needs to be able to read the
password hash from the corresponding file. The privileges necessary
for that depend on the filesystem permissions of this file. Eg, on a
Debian system, this means that the process needs to be in group
shadow. Since I had to supply an example myself, you then had the
opportunity to criticise my statement because of this example. Had I
used LDAP as an example, you could - as correctly - have pointed out
that 'most users of the most popular Linux distributions for general
purpose personal computers', Ubuntu, very likely use the installation
without any 'fancy authentication stuff' on their laptops or -
alternatively - that LDAP is only used in halfway 'homegrown'
UNIX(*)-centered networked authentication environments while 'most
enterprise installation' very likely use Kerberos, specifically, the
Kerberos service which comes as part of MS AD. None of this really
matters for the topic at hand.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages < Older 
« Back to Discussions « Newer topic     Older topic »