상세 컨텐츠

본문 제목

OpenSSH, 2011년부터 오라클 공격에 취약해

국내외 보안동향

by 알약(Alyac) 2018. 8. 31. 10:38

본문

OpenSSH Versions Since 2011 Vulnerable to Oracle Attack


OpenSSH가 오라클 공격에 취약해, 2011년 9월 이후 버전들에 모두 영향을 미치는 것으로 나타났습니다. 개발자들은 일주일 전 유사한 버그를 수정했었습니다.


Qualys의 보안 연구원들이 OpenSSH 최신 버전에서 새로운 계정명 열거 문제를 발견했습니다. 공격자는 서버에서 다양한 계정명을 시험해 유효한 것을 찾아낼 수 있게 됩니다. 이 취약점은 CVE-2018-15919로 등록 되었습니다.


연구원들은 지난 주 발견된 취약점과 동일한 방식으로 이 문제를 발견했습니다. 이 취약점 또한 스위트의 OpenBSD 소스 코드 커밋을 분석하던 중 발견 되었습니다.


문제는 auth2-gss.c 컴포넌트에 존재하며, 디폴트로 활성화 되어 있으며 Fedora, CentOS, Red Hat Enterprise Linux 및 다른 배포판에도 존재할 수 있습니다.


연구원들은 사용자가 인증을 시도할 때, 사용자가 유효한지 여부와 상관없이 공격자가 동일한 패킷을 수신한다고 설명했습니다.


연구원들은 “하지만 만약 사용자가 유효할 경우 'server_caused_failure'이 설정 됩니다.”라고 설명하며, 사용자가 서버에 존재하지 않을 경우에는 이 현상이 나타나지 않는다고 밝혔습니다.


또한 서버는 기본적으로 유효하지 않은 사용자의 시도를 6번으로 제한하며, 이후 서버는 공격자와의 연결을 끊어버립니다. 유효한 사용자일 경우, 공격자는 GSSAPI 인증을 무한대로 시도할 수 있게 됩니다. 이로써 브루트포싱공격을 통해 패스워드를 알아낼 수 있는 가능성이 생깁니다.


이 문제를 시연하기 위해, 연구원들은 아래의 PoC 코드를 작성했습니다:


diff -pruN openssh-7.8p1/gss-genr.c openssh-7.8p1-poc/gss-genr.c

--- openssh-7.8p1/gss-genr.c    2018-08-22 22:41:42.000000000 -0700

+++ openssh-7.8p1-poc/gss-genr.c        2018-08-22 22:41:42.000000000 -0700

@@ -286,6 +286,7 @@ ssh_gssapi_check_mechanism(Gssctxt **ctx

 

        ssh_gssapi_build_ctx(ctx);

        ssh_gssapi_set_oid(*ctx, oid);

+       return 1;

        major = ssh_gssapi_import_name(*ctx, host);

        if (!GSS_ERROR(major)) {

                major = ssh_gssapi_init_ctx(*ctx, 0, GSS_C_NO_BUFFER, &token, 

diff -pruN openssh-7.8p1/sshconnect2.c openssh-7.8p1-poc/sshconnect2.c

--- openssh-7.8p1/sshconnect2.c 2018-08-22 22:41:42.000000000 -0700

+++ openssh-7.8p1-poc/sshconnect2.c     2018-08-22 22:41:42.000000000 -0700

@@ -701,6 +701,7 @@ userauth_gssapi(Authctxt *authctxt)

        ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_TOKEN, &input_gssapi_token);

        ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_ERROR, &input_gssapi_error);

        ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_ERRTOK, &input_gssapi_errtok);

+       return 1;

 

        mech++; /* Move along to next candidate */


OpenSSH 개발자들은 이 취약점의 심각도가 낮기 때문에, 우선적으로 수정하지는 않을 것이라 밝혔습니다. 이유는 “민감하지 않은 정보를 부분적으로 공개했기 때문”이라고 밝혔습니다.


또한 이 버그로 인해 “공격자들은 브루트포싱 공격을 통해 예측한 계정명이 타겟 시스템에 존재하는지 확인해볼 수 있습니다.”라고 밝혔습니다. 하지만 6번의 시도 제한이 성공 확률을 더욱 낮추게 됩니다.


OpenSSH의 개발자인 Damien Miller는 시스템 라이브러리들은 이러한 정보 유출을 위협으로 간주하지 않으며, 사용자 계정은 사용자 신상에서 공개되는 부분이라 패스워드가 없는 이상 사용자에게는 쓸모가 없기 때문이라고 설명했습니다.


하지만 Qualys의 디렉터인 Jimmy Graham은 정찰 단계에서 이러한 유형의 결점을 활용해 어떤 공격이 더욱 성공적일지 결정하는데 도움을 줄 수 있다고 밝혔습니다.


Graham은 오라클 공격이 중대한 위협이 아니라는 것은 인정하지만, 그럼에도 사용자 정보를 유출시키기 때문에 보안 문제로 인식 되어야 한다고 말했습니다.





출처 : 

https://www.bleepingcomputer.com/news/security/openssh-versions-since-2011-vulnerable-to-oracle-attack/



관련글 더보기

댓글 영역