Ubuntu 14.04에서 암호의 마지막 몇 문자를 생략 할 수 있습니다


27

우리 대학의 랩 PC에는 Ubuntu 14.04.3 LTS가 있습니다. 나는 오늘 심각한 버그를 발견했습니다.

비밀번호의 마지막 몇 문자를 건너 뛰어도 여전히 로그인 할 수 있습니다. 예를 들어, 비밀번호가 a1b2c3d4e5f6g7h8이면 입력 a1b2c3d4e하고 로그인 할 수 있습니다 . 다른 많은 사람들도이 버그를 발견했습니다.

비밀번호를 완전히 무시할 수는 없습니다. 건너 뛸 수있는 최대 값은 7 자입니다. 더 이상 건너 뛰려고하면 " 잘못된 비밀번호 입니다. 다시 시도하십시오 "라는 메시지 가 나타납니다. 또한 암호의 하위 문자열에 대한 임의의 순열은 작동하지 않습니다.

화면을 수동으로 잠그고 비밀번호를 다시 입력 한 경우에도 마찬가지입니다. 사용하는 동안 동일한 버그가 ssh있으며 잘 검색하고 스택 오버플로를 검색해도 도움이되지 않았습니다.

내 질문은-이 버그를 전혀 해결할 수 있다면 어떻게 수정합니까? 월요일 전에는 sysadm을 사용할 수 없으며 실제로 문제가 있습니다.

중요 : sudoers 목록에 학생 계정이 없으며 sysadm만이 루트 액세스 권한을 갖습니다. 또한 ssh내 계정에 로그인 하면 다음이 표시 됩니다.

Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-65-generic i686)

* Documentation:  https://help.ubuntu.com/

543 packages can be updated.
350 updates are security updates.

New release '16.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

업데이트 : 중요한 문제는 끝에 생략 된 문자 수가 아니라 암호의 처음 8 자 이상으로 로그인 할 수 있다는 것입니다.


2
외부 인증 (LDAP, Active Directory 등)에 오류가 있고 암호의 유효성을 제대로 검사하지 못하는 것으로 의심됩니다. 시스템 관리자에게 문의하십시오.
André Borie

8
350 개의 보안 업데이트가 제공됩니다. 그들 중 하나는 아마도 Heartbleed 버그를 수정했을 것입니다
AnthumChris

4
귀하의 시스템 관리자는 ... 개월 동안 사용할 수 있었던 것으로 표시되지 않습니다
마이클 햄프 턴에게

답변:


28

관리자 액세스 권한이 없으면 할 수있는 일이 많지 않습니다.

그러나 이것은 관리자의 무능력 때문인 것으로 보입니다. 클래식 crypt(3)기능을 사용하는 암호 암호화와 비슷하게 들립니다 . 보낸 사람 man 3 crypt:

crypt ()는 비밀번호 암호화 기능입니다. 데이터를 기반으로합니다.
변형이 포함 된 암호화 표준 알고리즘
키 검색의 하드웨어 구현 사용을 권장하지 않습니다.

key는 사용자가 입력 한 비밀번호입니다.

salt는 세트 [a-zA-Z0-9./]에서 선택된 2 문자 스트링입니다. 이
문자열은 4096 가지 다른 방법 중 하나로 알고리즘을 혼란시키는 데 사용됩니다.

첫 8 개의 문자 각각의 가장 낮은 7 비트를 취함으로써
키는 56 비트 키를 얻습니다.   이 56 비트 키는 암호화하는 데 사용됩니다
반복적 인 상수 문자열 (일반적으로 모두로 구성된 문자열)
0). 리턴 된 값은 일련의 암호화 된 비밀번호를 가리 킵니다.
13 개의 인쇄 가능한 ASCII 문자 (처음 두 문자는
소금 자체). 반환 값은 내용이있는 정적 데이터를 가리 킵니다.
각 호출로 덮어 씁니다.

익숙한가요?

최근 우분투 시스템은 기본적으로 이것을 사용하지 않습니다. 이를 사용하려면 관리자가 비밀번호 설정을 수동으로 구성해야합니다. 또는 외부 인증 (LDAP 또는 이와 유사한)을 사용 중일 수 있으며이를 안전하게 구성하지 못했습니다.

참고 : 최신 Unix / Linux 시스템의 비밀번호는 여전히 8 자로 제한되어 있습니까?


4
그런 다음 관리자가 LDAP를 사용하고있을 가능성이 높습니다 ..... 그에게 연락하려고합니다. 감사!
Dimitri Markovich

1
OP는 처음 8 자 중 8 번째 비트를 뒤집 으면 차이가 있는지 확인하여이를 확인할 수 있습니다. UTF-8 환경에서는 까다로울 수 있습니다.
Jonas Schäfer

@JonasWielicki-처음 8 글자 중 8 번째 비트를 뒤집 으면 차이가 생깁니다. 암호가 유효하지 않은 것으로 표시됩니다. 따라서 원래 비밀번호의 처음 8 자 이상 만 사용할 수 있습니다.
Dimitri Markovich

@ die-policy137 언급 한 바와 같이, UTF-8을 사용하면 8 번째 비트 만 뒤집는 것이 까다로울 수 있습니다 . 이렇게하면 코드 포인트를 인코딩하는 데 1 바이트 대신 2 바이트가 사용됩니다. 불행히도, 이것은 터미널이 사용하는 인코딩 및 / 또는 인증을 위해 전송 된 데이터를 매우 엄격하게 제어하지 않는 한, 확실한 테스트는 아닙니다.
Jonas Schäfer

7

이전 밀레니엄에는 모든 Unixen이 암호를 이런 식으로 암호화 한 시간이있었습니다. 여덟 번째 문자 이외의 모든 것을 버리고 소금을 넣고 해시 함수를 통해 드롭하고 완료하십시오.

여기서 큰 문제는 잠재적 인 해커가 암호화 된 암호를 사용할 수 있는지 여부입니다. 만약 그렇다면, 이것은 큰 문제입니다. 그렇지 않다면 실제로 큰 문제는 아닙니다. 8 자 암호에는 많은 가능성이 있습니다. 잠재적 인 암호를 확인하기 위해 실제 로그인을 시도해야하는 경우 침입하는 데 시간이 오래 걸립니다. 또한 시도는 알람을 트리거합니다.

따라서 여기서 가장 큰 승리는 섀도 패스워드입니다. 여전히 사람들은 이것이 충분하지 않다고 생각하기 시작했으며 모든 유닉스 변종은 최대 암호 길이를 확장하는 자체 방식을 구현했습니다. 이들은 더 이상 호환되지 않았습니다.

한동안 다른 유닉스 변종을 가진 여러 컴퓨터가 같은 암호를 사용하려면 이전 유형의 암호화를 사용해야했습니다.

이러한 컴퓨터 실습실을 처음 설치할 때 여전히 그럴 가능성이 있습니다. 그리고 이러한 유형의 설정에는 관성이 있습니다. 새 클라이언트가 서버와 일치하도록 설정되었습니다. 클라이언트와 일치하도록 새 서버가 설정되었습니다.

오늘날에는 상황이 더 좋습니다. 사용중인 유닉스 변종이 적고 더 잘 협력합니다.

나는 어떻게이 문제를 해결하는 방법을 알려 정도로 능력이 아니지만, 그것은 것입니다 하지 당신을 위해, 관리자에 대한 작업.


그럼 ....하지만 뭔가 할 수 있었으면 좋겠다.
Dimitri Markovich

"Unicies"보다 "Unixen"? 전에 한 번도 들어 본 적이없는 멋진 터치
cat

1
그것은 분명히 유닉스와의 합성어이다 @cat 회양목 .
Michael Hampton

2
유닉스가 만든 단어이기 때문에, 복수가 너무 :)으로 구성 할 수 있습니다
Thorbjørn Ravn 안데르센

Eight characters passwords has a lot of possibilities.들어 암호 엔트로피 , 당신은 공격자가 당신이 암호를 생성하는 방법을 알고 가정합니다. 임의의 단어 를 사용하면 최대 2 개의 단어 또는 22 비트의 엔트로피를 얻을 수 있습니다.
NonlinearFruit
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.