검수요청.png검수요청.png

"패스워드 크래킹"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(사례)
(대안)
96번째 줄: 96번째 줄:
 
# 패스워드를 암호화할 때 해시값의 반복을 통해 암호화를 극대화해주는 키 스트레칭
 
# 패스워드를 암호화할 때 해시값의 반복을 통해 암호화를 극대화해주는 키 스트레칭
 
패스워드 크래킹의 경우 해킹에 있어 필수적인 요소이며, 사용자의 입장에서 본인을 인증하기에 필수적인 요소이다. 해커에 의해 패스워드가 탈취당할 수 있지만, 대부분 해킹의 경우 사용자나 관리자의 부주의나 안일한 태도로 인해 대부분 발생하기 때문에 조금의 보안 의식을 가지고 책임감을 느낀다면 많은 사고가 발생하지 않을 것이다.<ref name= "크래킹"></ref>
 
패스워드 크래킹의 경우 해킹에 있어 필수적인 요소이며, 사용자의 입장에서 본인을 인증하기에 필수적인 요소이다. 해커에 의해 패스워드가 탈취당할 수 있지만, 대부분 해킹의 경우 사용자나 관리자의 부주의나 안일한 태도로 인해 대부분 발생하기 때문에 조금의 보안 의식을 가지고 책임감을 느낀다면 많은 사고가 발생하지 않을 것이다.<ref name= "크래킹"></ref>
 +
 +
Active Directory 관리자 계정 탈취 문제로 랜섬웨어, 기밀자료 취득, 사기 메일, 협박, 등의 문제를 겪는 사례를 종종 접하게 된다.
 +
 +
먼저 원인을 알아보기 위해 Microsoft사의 Active Directory 구조를 살펴보면, 단일 도메인 구성 안에 모든 시스템(서버, PC, 스토리지, 기타)의 접근 계정이 통합되어 있으며 만약 권한이 허용 되는 계정을 갖게 되면(Administrator) 모든 시스템의 관리자 권한의 접근을 통해 어떠한 정보, 행위도 서슴지 않고 가능하게 된다.
 +
 +
보안 강화 목적 및 계정 관리의 효율을 목적에 둔 AD 도입이 관리 소홀 및 지능적인 해커들의 공격으로 인해 역효과를 넘어 전산 시스템 전체를 볼모로 해커와 협상을 해야 하는 최악의 상황마저 만들어낸 것이다.
 +
 +
최근 A 제조사의 사례를 살펴보면, PC에 악성코드를 심어 AD 관리자 계정의 패스워드를 탈취하고 Domain Controller(AD관리서버)의 IP를 확인한 뒤 관리자 계정으로 접근해 해킹을 하기 좋은 상태로 유지해 둔 후, ERP 서버의 DBMS를 접근해 암호화하고 백업데이터까지 암호화 조치를 해두었다. 이러한 일이 발생하면 데이터 복구는 사실상 불가능해진다. 해커와 협상을 통해 거액(5억원 이상)을 송금하고 나서야 데이터 복구를 한 보안대응 실패 사례가 있었다.
 +
 +
더 큰 문제는 협상을 통해 데이터를 복구한다 해도 어느 시스템에 백도어를 심어 두었는지 알 수 없어 재차 공격을 당할 수 있고, AD시스템 전체를 재구축한다 해도 다시 탈취 될 상황에 놓이게 된다는 것이다. 이와 같은 문제를 겪지 않으려면 사후 조치 보다는 사전 예방이 필수적이다. 예방법을 알아보면 다음과 같이 정리할 수 있다.
 +
 +
먼저 ‘계정 관리를 강화’해야 한다.
 +
*쓰지 않는 계정 비활성화
 +
*PW는 정기적으로 변경하고, 복잡도는 매우 높게 관리
 +
*특정 사용자를 제외한 사용 권한을 관리자에게 주지 않기
 +
*정기적으로 계정 취약 여부를 점검 등을 들 수 있다.
 +
 +
두 번째로는 ‘접근 통제 및 외부 접속 통제’인데, 망분리에 준하는 네트워크 구성을 통해 인터넷망을 통해 접근하는 해커의 경로를 물리적으로 차단해야 한다.
 +
 +
세 번째는 AD 서버 접근 제어 관리다. 특정 PC에서만 서버 접근이 가능하도록 구성한다거나, 특정 조건이 부합되는 환경에서만 접근 되도록 강제해야 한다. (예: Network Access Control 장비 통해 인증, 로그온 관련한 이벤트 로그 및 모니터링 시스템 확보)
 +
 +
또한 서버 접근 및 서비스 접근에 대한 로그 및 실시간 모니터링을 할 수 있도록 구성해 두면 해커의 불법적 접근을 사전, 혹은 사후에 알게 되고 예방 조치를 즉각 할 수 있게 된다.<ref> 해커즈뉴스, <[http://hackersnews.org/hn/read.cgi?board=hn_uni&y_number=8932 서버 계정 탈취 문제, 해킹 대응 방안은? ]>, 《해커즈뉴스》</ref>
  
 
== 사례 ==
 
== 사례 ==

2019년 7월 26일 (금) 14:49 판

패스워드 크래킹(password cracking)이란 해당 시스템에 저장된 패스워드를 알아내는 해킹 기법이다.

개요

패스워드 크래킹은 네트워크 컴퓨터 시스템에 의해 전송된 저장 위치로부터 또는 데이터로부터 패스워드를 복구하는 것을 포함한다. 패스워드 크래킹의 목적은 컴퓨터 시스템에 무단 접근을 통해 권한을 얻거나 잊어버린 암호를 복구하기 위해 사용한다. 해커가 시스템을 해킹할 수 있도록 테스트 암호 강도를 위한 기술은 크래킹 암호를 사용하는 또 다른 이유가 될 수 있다. 일반적으로 반복적 작업이나 일정한 패턴, 조합 등을 통해 알아내기도 한다. 패스워드 크래킹은 해킹 기법 중 난이도는 낮지만 가장 강력한 공격이다. 또한 보안 프로그램이 설치되어 있어도 얼마든지 크래킹이 가능하다.

크래커

침입자(intruder) 또는 공격자(invader)라고도 하며, 소프트웨어를 불법으로 복사하여 배포하는 사람을 가리키기도 한다. 고의 또는 악의적으로 다른 사람의 컴퓨터에 불법적으로 침입하여 데이터나 프로그램을 엿보거나 변경하는 등의 컴퓨터범죄 행위를 저지르는 지능범을 가리킨다.

컴퓨터네트워크의 보급과 이용이 확대되면서 사회문제로 대두되고 있다. 한국에서는 이러한 컴퓨터 범죄에 대하여 해커와 크래커가 혼동되기도 한다. 특히, 해커는 컴퓨터 범죄자의 의미로 사용되는 경우가 훨씬 많아 범죄적 해커와 레크레이셔널 해커로 구분짓기도 한다.

그러나 해커는 정보의 공유를 주장하는 고도의 컴퓨터 전문가로서 컴퓨터프로그램의 발전에 기여한 긍정적인 측면이 있는 반면에 크래커는 악의적으로 범죄의 수단으로써 해킹 기술을 이용한다는 차이점이 있다. 이 때문에 해커들은 크래커를 자신들과 구별하여 '위험한 해커(dangerous hacker)'라는 뜻의 영어 글자를 따서 '데커(decker)'라고 부르기도 한다.

크래커는 이익을 추구하려고도 하지만 악의적이고 이타적인 목적이나 이유, 특히 보안시스템에 대한 도전으로 불법행위를 자행하는 경우가 많다. 이에 대하여 당사자들은 어떤 컴퓨터시스템의 보안이 취약하다는 것을 지적하기 위하여 하는 일이라고 주장하기도 하지만 범죄행위일 뿐이다.

이들은 공항 관제탑이나 발전소의 정보 시스템에 침입하여 가동을 중단시키고, 군사위성에 침투하기도 한다. 또 식품회사의 제조공정을 변경하여 독극물이 든 식품으로 변조하는가 하면, 경쟁 기업에 침투하여 극비에 속하는 개발정보를 빼내 판매하기도 한다. 이밖에 인터넷 홈뱅킹 관련자료를 입수하여 몰래 만들어 둔 가공의 계좌로 남의 돈을 이체한 예도 있다.[1]

특징

공격 기법

  • 무작위 대입 공격(Brute Force Attack)
무작위 대입 공격이란 조합 가능한 모든 패스워드를 대입해보는 것으로 대입하여 똑같은 해시값이 나오면 성공한다. 기본적으로 모든 해시는 해당 기술로 뚫을 수 있다. 다만, 그 시간이 짧을 수도 있지만 천문학적인 시간이 걸릴 수도 있다. 따라서 패스워드 길이를 길게 늘여 찾는데 걸리는 시간을 최대한 오래 걸리게 함으로써 쉽게 뚫리는 것을 방지할 수 있다. MD5는 해당 기술로 빨리 뚫리기 때문에 보안 목적으로 적합하지 않다.
MD5의 경우 25개의 GPU로 초당 1,800억 개의 패스워드 대입이 가능하다. 단순 영문 대소문자, 숫자만 조합한 8자리 고정 패스워드의 경우 62^8개의 조합이 가능한데, 이 경우 62^8/1800억 = 1212초로 불과 20분이면 해당 패스워드를 알아내는 것이 가능하다. 패스워드 길이를 늘린다면 당연히 찾아내는데 오랜시간이 걸려 안전하겠지만 지금과 같이 수치 연산에 강력한 GPU 사용으로 인해 좀더 획기적인 패스워드 설정 방법이 나오는 것이 필요하다.
  • 장점 : 100% 성공률을 보장하고 패스워드 길이가 짧으면 패스워드를 찾는데 짧은 시간이 소요된다.
  • 단점 : 패스워드 길이가 짧지 않은 경우가 대부분이어서 평균적으로 오랜 시간이 걸린다.
  • 레인보우 테이블 공격(Rainbow Table Attack)
현재 패스워드는 '패스워드 + 해시'를 통해 저장되어 있다. 따라서 패스워드별로 해당 해시값을 미리 저장한 이후 해당 해시값을 통해 역으로 패스워드를 찾아내는 방식이다. 하지만 해시함수는 다양하며 해당 데이터를 모두 저장한다는 것은 메모리 적으로 많은 부담이 된다. 또한 해당 레인보우 테이블을 만드는 데에도 많은 시간이 소요되며 해시에 대한 알고리즘 수행 시간이 길수록 해당 테이블을 얻어내는 것 역시 아주 어렵다. 이러한 단점을 보완하기 위해 나온 것이 R(Reduction) 함수이다. R 함수는 레인보우 테이블을 작은 크기로 줄이는 데 사용되며 일정한 패턴이나 유사한 것들을 이용하여 모든 값을 저장하는 것이 아닌 특정 값만 저장하여 패스워드를 역으로 알아내는 것이다.
  • 장점 : 해시 함수를 통한 패스워드 크래킹이 가능하다.
  • 단점 : 테이블 생성에 많은 시간이 소요된다.
  • 사전 대입 공격(Dicitionary Attack)
사전 대입 공격은 예상되는 흔히 쓰이는 패스워드를 모두 저장하여 모두 대입해 보는 방식이다. 무작위의 경우 모든 경우의 수를 따지기 때문에 많은 시간이 소요되고 패스워드가 해당 사전에 저장되어 있지 않을 경우 패스워드 크래킹에 실패한다. 하지만 사전에 저장된 패스워드만 대입하기 때문에 짧은 시간이 소요된다.
  • 장점 : 무작위 공격에 비해 짧은 시간이 소요된다.
  • 단점 : 사전에 저장된 패스워드가 없을 경우 크래킹이 불가하다.
  • 충돌 공격(Collision Attack)
충돌 공격은 충돌이 발생하는 경우를 공격하는 것으로, 해시 함수 특성상 같은 문자의 경우 같은 해시값을 가져 충돌이 발생한다는 것이다. 따라서 해당 해시함수를 통해 무작위로 패스워드를 입력하여 같은 해시값이 나올 때까지 반복하는 작업을 한다. 해당 공격을 방지하기 위해 나온 것이 다양한 해시함수를 사용하는 것과 솔트(salt) 기술을 병합하는 것이다. 해당 기술은 앞서 충돌 공격을 방지하기 위한 것으로 같은 패스워드일지라도 '패스워드 + 해시 + 솔트' 구조로 인해 해시값은 다른 결과를 가져온다.
  • 장점 : 무작위 공격과 유사하여 패스워드를 100% 찾아낸다.
  • 단점 : 현재 보안 정책이나 기술로는 충돌 공격을 하는 것이 불가능하다.
  • 혼합 공격(Hybrid Attack)
혼합 공격이란 앞서 설명한 무작위 대입 공격과 사전 대입 공격 기술을 합한 것을 의미한다. 사전에 포함된 패스워드를 기반으로 무작위로 대입하여 찾아내기도 하며, 이를 기반으로 무작위 대입을 실행하는 것이다.
  • 사회공학적 공격(Guessing Attack)
사회공학적 공격이란 해당 사용자가 인적사항이나 행동, 실수 등을 통해 패스워드를 알아내는 것이다. 직업이나 환경, 공동체 내의 공통적인 암호 등을 통해 유추해내어 패스워드를 알아내는 것이다. 현재 암호화가 강화되어 위에 기술된 방법을 통해 찾는 것은 많은 시간이 걸려 상황에 따라 비효율적일 수 있으며 찾지 못하는 경우도 있으나 짧은 시간에 찾을 수 있다는 장점이 있다.[2]

패스워드 크래킹 툴

  • 존 더 리퍼(John the ripper) : 패스워드 크래킹 툴의 대표적인 툴이다. 패스워드 크래킹의 대두분의 기법들이 포함되어 있다.
  • Ophcracker : 레인보우 테이블을 통한 크래킹 툴이다.
  • 카인과 아벨(Cain & Abel) : 윈도우 GUI 기반 도구로 스니핑(Sniffing)과 ARP 포이스닝(Posisoning), 중간자 공격(MITM)에 주로 사용된다.
  • 히드라(Hydra) : 네트워크 패스워드 크래킹 툴이다.
  • 메두사(Medusa) : 히드라와 유사한 툴로 히드라에 비해 빠른 속도를 지니고 있다.
  • 에어크랙(Aircrack) : 무선 네트워크의 패스워드를 크래킹하는 툴이다.[2]

솔트(Salt)

패스워드는 해시와 암호화 알고리즘으로 변경되어 저장되는데 솔트는 똑같은 패스워드를 숨기기 위한 첨가물로써 패스워드 크래킹을 어렵게 만드는 보안 강화 기법이다. 이는 같은 패스워드라도 다른 값으로 저장이 되게 하여 해시의 고유함이라는 단점을 보완해준다. 예를 들어, root계정과 i2sec계정의 패스워드가 123456으로 동일할 경우 솥트 미적용 시 알고리즘이 동일하기 때문에 암호화 및 해시 모두 똑같은 값으로 저장된다. 반대로 솔트 적용시 다른 해시값이 저장된다. [3]

Salt 미적용
계정 패스워드 MD5
root 123456 E10ADF3151ASDVC21518421EEVCVE151C4V81D231F6D121CV
i2sec 123456 E10ADF3151ASDVC21518421EEVCVE151C4V81D231F6D121CV
Salt 적용
계정 패스워드 MD5
root 123456 E10ADF3151ASDVC21518421EEVCVE151C4V81D231F6D121CV
i2sec 123456 DVAC51512DVC411VCCCE6511VC244V1E5V2C2Z1C2V154DDD

대안

길이가 짧거나 단순 조합에 의한 패스워드, 반복적인 단어나 특정 단어에 의한 패스워드, 유추가 가능하거나 많은 사람이 사용할만한 패스워드는 패스워드 크래킹 공격에 취약하므로 사용을 자제 해야한다. 따라서 안전한 패스워드는 크게 세 가지로 정리 할 수 있다.

  1. 적절한 알고리즘 사용(PBKDF2, Bcrypt, Scrypt 등)
  2. 길이 및 다양한 조합의 패스워드 설정(영문, 숫자, 특수문자 조합 등)
  3. 패스워드를 암호화할 때 해시값의 반복을 통해 암호화를 극대화해주는 키 스트레칭

패스워드 크래킹의 경우 해킹에 있어 필수적인 요소이며, 사용자의 입장에서 본인을 인증하기에 필수적인 요소이다. 해커에 의해 패스워드가 탈취당할 수 있지만, 대부분 해킹의 경우 사용자나 관리자의 부주의나 안일한 태도로 인해 대부분 발생하기 때문에 조금의 보안 의식을 가지고 책임감을 느낀다면 많은 사고가 발생하지 않을 것이다.[2]

Active Directory 관리자 계정 탈취 문제로 랜섬웨어, 기밀자료 취득, 사기 메일, 협박, 등의 문제를 겪는 사례를 종종 접하게 된다.

먼저 원인을 알아보기 위해 Microsoft사의 Active Directory 구조를 살펴보면, 단일 도메인 구성 안에 모든 시스템(서버, PC, 스토리지, 기타)의 접근 계정이 통합되어 있으며 만약 권한이 허용 되는 계정을 갖게 되면(Administrator) 모든 시스템의 관리자 권한의 접근을 통해 어떠한 정보, 행위도 서슴지 않고 가능하게 된다.

보안 강화 목적 및 계정 관리의 효율을 목적에 둔 AD 도입이 관리 소홀 및 지능적인 해커들의 공격으로 인해 역효과를 넘어 전산 시스템 전체를 볼모로 해커와 협상을 해야 하는 최악의 상황마저 만들어낸 것이다.

최근 A 제조사의 사례를 살펴보면, PC에 악성코드를 심어 AD 관리자 계정의 패스워드를 탈취하고 Domain Controller(AD관리서버)의 IP를 확인한 뒤 관리자 계정으로 접근해 해킹을 하기 좋은 상태로 유지해 둔 후, ERP 서버의 DBMS를 접근해 암호화하고 백업데이터까지 암호화 조치를 해두었다. 이러한 일이 발생하면 데이터 복구는 사실상 불가능해진다. 해커와 협상을 통해 거액(5억원 이상)을 송금하고 나서야 데이터 복구를 한 보안대응 실패 사례가 있었다.

더 큰 문제는 협상을 통해 데이터를 복구한다 해도 어느 시스템에 백도어를 심어 두었는지 알 수 없어 재차 공격을 당할 수 있고, AD시스템 전체를 재구축한다 해도 다시 탈취 될 상황에 놓이게 된다는 것이다. 이와 같은 문제를 겪지 않으려면 사후 조치 보다는 사전 예방이 필수적이다. 예방법을 알아보면 다음과 같이 정리할 수 있다.

먼저 ‘계정 관리를 강화’해야 한다.

  • 쓰지 않는 계정 비활성화
  • PW는 정기적으로 변경하고, 복잡도는 매우 높게 관리
  • 특정 사용자를 제외한 사용 권한을 관리자에게 주지 않기
  • 정기적으로 계정 취약 여부를 점검 등을 들 수 있다.

두 번째로는 ‘접근 통제 및 외부 접속 통제’인데, 망분리에 준하는 네트워크 구성을 통해 인터넷망을 통해 접근하는 해커의 경로를 물리적으로 차단해야 한다.

세 번째는 AD 서버 접근 제어 관리다. 특정 PC에서만 서버 접근이 가능하도록 구성한다거나, 특정 조건이 부합되는 환경에서만 접근 되도록 강제해야 한다. (예: Network Access Control 장비 통해 인증, 로그온 관련한 이벤트 로그 및 모니터링 시스템 확보)

또한 서버 접근 및 서비스 접근에 대한 로그 및 실시간 모니터링을 할 수 있도록 구성해 두면 해커의 불법적 접근을 사전, 혹은 사후에 알게 되고 예방 조치를 즉각 할 수 있게 된다.[4]

사례

아이클라우드 해킹사례

영화 엑스맨 시리즈에서 '미스틱' 역할을 했던 헐리우드 스타 제니퍼 로렌스를 포함한 유명 여배우들의 아이클라우드 계정이 해킹돼 이들이 올렸던 누드사진이 유출된 것으로 나타났다.해커는 4chan에 제니퍼 로렌스가 직접 찍은 누드사진, 셀프카메라 사진 60여장과 함께 케이트 업튼, 빅토리아 저스티스, 킴 카다시안, 메리 케이트 올슨 등에 대한 유출 사진을 갖고 있다며 수십여명에 달하는 여배우 리스트를 올렸다. 이 해커는 사진을 일반인들에게 공개하는 댓가로 비트코인을 지불해 줄 것을 요구했다.해커는 이들 여배우들의 스마트폰을 해킹해 아이클라우드 계정을 탈취한 뒤 이들이 올린 사진들을 유출 시킨 것으로 나타났다.[5]

각주

  1. 쥰야쌤, <크래커(cracker)>, 《네이버블로그》
  2. 2.0 2.1 2.2 good player, 〈(System)패스워드 크래킹〉, 《티스토리》, 2018-12-12
  3. Hyeonnii, 〈패스워드 크래킹(1)〉, 《티스토리》, 2017-03-02
  4. 해커즈뉴스, <서버 계정 탈취 문제, 해킹 대응 방안은? >, 《해커즈뉴스》
  5. 손경호기자, <美유명 여배우 아이클라우드 해킹, 누드사진 유출>, 《지디넷코리아》

참고 자료

같이 보기


  검수요청.png검수요청.png 이 패스워드 크래킹 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.