사전 공격
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
사전 공격은 공격자가 미리 준비한 단어 목록을 사용하여 비밀번호를 알아내는 방식의 공격이다. 이 공격은 사전, 과거 유출된 비밀번호 목록, 또는 흔한 비밀번호 조합을 활용하며, 자동화된 프로그램을 통해 쉽게 수행될 수 있다. 사전 공격은 단순 사전 공격, 확장 사전 공격, 레인보우 테이블 공격 등으로 분류되며, 웹 페이지 변조, 스팸 메일 발송, 크래킹 등 다양한 악의적인 행위에 사용된다. 강력한 비밀번호 사용, 솔트(Salt) 사용, 이중 인증, 보안 소프트웨어 활용 등을 통해 사전 공격에 대응할 수 있다.
더 읽어볼만한 페이지
- 네트워크 보안 - 스파이웨어
스파이웨어는 사용자의 동의 없이 설치되어 개인 정보를 수집하거나 시스템을 감시하며, 다양한 형태로 존재하여 광고 표시, 정보 탈취, 시스템 성능 저하 등의 피해를 유발하는 악성 프로그램이다. - 네트워크 보안 - 가상 사설 서버
가상 사설 서버(VPS)는 공유 웹 호스팅과 전용 호스팅의 중간 단계 서비스로, 가상화 기술을 기반으로 슈퍼유저 수준의 접근 권한, 높은 운용 자유도와 향상된 보안성을 제공하지만, 환경 유지 관리 필요성, 상대적으로 높은 비용, 회선 공유 문제 등의 단점도 가진다. - 암호학 - 양자 컴퓨터
양자 컴퓨터는 양자역학적 현상을 이용하여 정보를 처리하는 컴퓨터로, 큐비트를 통해 0과 1을 동시에 표현하여 특정 연산에서 기존 컴퓨터보다 빠른 속도를 보이며 암호 해독, 신약 개발 등 다양한 분야에 혁신을 가져올 것으로 기대된다. - 암호학 - 암호화
암호화는 정보를 보호하기 위해 사용되는 기술로서, 단순한 문자 치환 방식에서 시작하여 현대에는 강력한 암호화 표준과 다양한 종류로 발전했으며, IT 시스템 전반에 적용되지만, 사이버 공격과 양자 컴퓨팅의 발전에 대한 대응이 필요한 기술이다.
사전 공격 | |
---|---|
공격 대상 | |
목표 | 비밀번호 및 암호화 키와 같은 보안 정보 획득 |
공격 방법 | |
개요 | 가능한 비밀번호 목록(사전)을 사용하여 시스템에 침투 시도 |
작동 방식 | 사전에 있는 각 단어를 해시 함수를 통해 변환 변환된 해시 값을 시스템에 저장된 해시 값과 비교 일치하는 해시 값을 찾으면 해당 단어를 비밀번호로 간주 |
변형 | 무차별 대입 공격: 가능한 모든 문자 조합 시도 레인보우 테이블 공격: 미리 계산된 해시 테이블 사용 소셜 엔지니어링 공격: 사용자를 속여 비밀번호 획득 스머지 공격: 키보드 주변의 지문 분석 스파이웨어: 악성 소프트웨어를 사용하여 비밀번호 가로채기 |
취약점 | |
원인 | 쉬운 비밀번호 사용 비밀번호 변경 주기가 짧음 비밀번호 재사용 |
보안 대책 | 강력한 비밀번호 사용 (길이, 복잡성) 다단계 인증 사용 비밀번호 관리 도구 사용 비밀번호 변경 주기 설정 보안 소프트웨어 사용 보안 교육 실시 |
추가 정보 | |
관련 용어 | 크래킹 (보안) 비밀번호 크래킹 암호 분석 |
2. 공격 원리 및 유형
사전 공격은 공격자가 미리 준비한 단어 목록을 이용하여 비밀번호를 대입하는 방식으로 이루어진다. 많은 사람들이 일반적인 단어나 흔한 비밀번호, 또는 숫자나 구두점을 추가하는 식으로 비밀번호를 만들기 때문에 이러한 공격은 성공할 확률이 높다.[2][3]
사전 공격은 시간-공간 트레이드오프를 활용하여 효율성을 높일 수 있다. 즉, 사전에 있는 단어들의 해시 값을 미리 계산하여 키로 데이터베이스에 저장해 둠으로써 실제 공격 시간을 단축할 수 있다. 이러한 방식은 초기 준비 시간이 오래 걸리지만, 일단 사전이 준비되면 다수의 암호를 빠르게 해독하는 데 매우 효과적이다. 저장 공간 비용은 과거에는 문제였지만, 디스크 저장 장치 가격이 저렴해지면서 이 문제는 덜 중요해졌다.
무차별 대입 공격은 가능한 모든 조합을 시도하기 때문에 시간이 오래 걸리지만, 사전 공격은 사람들이 자주 사용하는 비밀번호 패턴을 이용하므로 더 효율적이다.
2. 1. 단순 사전 공격
사전 공격은 미리 정해진 목록의 모든 문자열을 시도하는 것에 기반한다. 이러한 공격은 원래 사전에서 발견된 단어를 사용했기 때문에 '사전 공격'이라는 문구가 생겼다.[2] 하지만 현재는 과거 데이터 유출에서 복구된 수억 개의 비밀번호가 포함된 훨씬 더 큰 목록이 공개된 인터넷에 있다.[3] 또한 이러한 목록을 사용하고 유사하게 보이는 문자를 숫자로 대체하는 것과 같은 일반적인 변형을 생성할 수 있는 크래킹 소프트웨어도 있다. 사전 공격은 성공할 가능성이 가장 높은 가능성만 시도한다. 많은 사람들이 일반적인 단어나 흔한 비밀번호, 또는 예를 들어 숫자나 구두점을 추가하여 얻은 변형과 같은 짧은 비밀번호를 선택하는 경향이 있기 때문에 사전 공격은 종종 성공한다.무차별 대입 공격의 경우, A~Z, 0~9까지 모든 경우의 수를 대입하여 비밀번호를 해킹하므로, 시도 횟수가 방대하고 시간 소모가 크다. 따라서 사람이 생각하는 비밀번호는 패턴이 있는 경우가 많기 때문에, 자주 사용되는 비밀번호를 "사전"처럼 등록하여 공격에 이용하는 것이 사전 공격이다. 사전에 기재된 단어를 이용하여 특정 문자열을 추측하는 방법이다.
2. 2. 확장 사전 공격
사전 공격은 미리 정해진 목록의 모든 문자열을 시도하는 공격이다. 이러한 공격은 원래 사전에서 발견된 단어를 사용했지만,[2] 현재는 과거 데이터 유출에서 복구된 수억 개의 비밀번호가 포함된 훨씬 더 큰 목록이 인터넷에 공개되어 있다.[3] 또한 이러한 목록을 사용하고 유사하게 보이는 문자를 숫자로 대체하는 것과 같은 일반적인 변형을 생성할 수 있는 크래킹 소프트웨어도 있다. 많은 사람들이 일반적인 단어나 흔한 비밀번호, 또는 숫자나 구두점을 추가하여 얻은 변형과 같은 짧은 비밀번호를 선택하는 경향이 있기 때문에 사전 공격은 종종 성공한다.2. 3. 레인보우 테이블 공격
레인보우 테이블을 이용하면 저장 공간을 줄이면서도 암호 해독 시간을 어느 정도 단축할 수 있다. LM 해시는 이러한 공격에 취약한 인증 프로토콜의 한 예이다.[4]솔트를 추가하면 각 암호마다 다른 해시값을 생성하게 되므로, 충분히 많은 솔트 값을 사용하면 사전 계산 공격을 효과적으로 방어할 수 있다. 즉, 레인보우 테이블 공격을 막을 수 있다.[4]
3. 활용 사례
사전 공격은 미리 정해진 목록의 모든 문자열을 시도하는 방식으로, 원래는 사전에서 발견된 단어를 사용했기 때문에 '사전 공격'이라는 이름이 붙었다.[2] 하지만 현재는 과거 데이터 유출로 복구된 수억 개의 비밀번호가 포함된 훨씬 더 큰 목록이 인터넷에 공개되어 있다.[3] 이러한 목록을 사용하고, 유사하게 보이는 문자를 숫자로 대체하는 등의 일반적인 변형을 생성하는 크래킹 소프트웨어도 있다.
사전 공격은 성공 가능성이 높은 항목만 시도하며, 많은 사람들이 일반적인 단어나 흔한 비밀번호, 또는 숫자나 구두점을 추가한 변형과 같은 짧은 비밀번호를 선택하는 경향이 있어 자주 성공한다. 더 안전한 접근 방식은 비밀번호 관리자를 사용하거나 수동으로 비밀번호를 입력하여 무작위로 긴 비밀번호(15자 이상) 또는 여러 단어의 암호 구문을 생성하는 것이다.
사전 공격은 다음과 같은 목적으로 악용될 수 있다.
3. 1. 크래킹 공격
사전 공격은 주로 영어 사전에 있는 단어들을 무작위로 입력하여 비밀번호를 알아내는 방식이다. 컴퓨터가 어떤 반응을 보이는지 조사하여 비밀번호를 알아낼 수 있다. 대개는 컴퓨터 프로그램에서 사용하기 쉬운, 단어만 나열된 파일 형태이다.이 방법은 다이얼 자물쇠를 풀기 위해 0000부터 9999까지 모든 조합을 시도하는 것과 비슷하며, 간단한 프로그램으로 자동화하기 쉽다. 따라서 웹 페이지 변조를 목적으로 하는, 기술 수준이 낮은 크래커들이 서버 침입에 자주 사용한다. 시간이 오래 걸리지만, 완전히 실패하는 경우는 비교적 적다.
브루트 포스 공격은 사전 자체를 사용하는 것보다 시간이 더 걸리지만, 더 확실하게 결과를 얻을 수 있다. 비슷한 방법으로, 압축 파일에 걸린 비밀번호를 알아내는 소프트웨어도 존재한다.
3. 2. 스팸 메일 발송
스팸 발송자는 휴대 전화로 스팸을 보낼 때, 이메일 주소의 "@" 앞부분에 사전의 단어나 문자 조합을 시도하여 이메일 주소 목록을 만든 후 스팸 메일을 발송한다.이 방법은 대부분 "실제 존재하지 않는 이메일 주소"를 생성하며, 실제로 휴대 전화 회사의 메일 서버가 매일 처리하는 전자 메일 중 80% 이상이 이러한 사전 공격으로 만들어진 "수신자가 존재하지 않아, 배달되지 않고 발신자에게 반송되는 전자 메일"이라는 조사 결과도 있다. NTT DoCoMo의 2001년 발표에 따르면, 이러한 수신 불명 스팸 메일은 하루 8억 통에 달한다. 이러한 수신 불명 메일 처리는 메일 서버에 막대한 부하를 초래하여, 정상적인 메일(사용자 간 주고받는 메일 포함) 1억 5천만 통의 전송 지연을 유발하기도 한다.
4. 기술적, 윤리적 문제점
사전 공격은 타인의 컴퓨터 비밀번호를 알아내거나 불쾌한 광고를 보내는 등 실질적인 피해를 야기한다.[1] 대량의 정보를 처리하는 데 불필요한 작업을 늘려 대상 컴퓨터의 작업을 지연시키고, DoS 공격과 유사하게 서버에 과부하를 일으켜 서비스 기능 저하나 동작 불량을 유발할 수 있다.[1]
공격자는 장시간 서버에 접속해야 하므로 역추적 및 조사가 용이하여 법적 처벌을 받을 가능성이 높다.[1] 특히, 대한민국에서는 정보통신망 이용촉진 및 정보보호 등에 관한 법률에 따라 불법적인 접근 및 침해 행위에 대해 엄격하게 처벌하고 있다.
5. 대응 방안
사전 공격을 예방하는 방법 중 하나는 해시 목록을 미리 계산하여 데이터베이스에 저장하는 것이다. 이는 상당한 준비 시간이 필요하지만 실제 공격 실행 시간을 단축할 수 있다. 저장 공간 비용은 과거에는 부담이 컸으나, 디스크 저장 장치 비용이 저렴해지면서 문제가 되지 않는다. 사전 계산된 사전은 한 번만 생성하면 되기 때문에, 대량의 암호를 해독해야 할 때 특히 효과적이다.
레인보우 테이블은 저장 요구 사항을 줄이면서 조회 시간을 약간 늘리는 더 정교한 방식이다. 이러한 공격으로 손상된 인증 프로토콜의 예로는 LM 해시가 있다.
5. 1. 강력한 비밀번호 사용
사전 공격은 성공할 가능성이 높은 비밀번호만 시도하는데, 많은 사람들이 짧거나 일반적인 단어, 또는 흔한 비밀번호를 사용하기 때문이다. 숫자나 구두점을 추가하는 방식으로 만든 변형된 비밀번호도 사전 공격에 취약하다.[2]보다 안전한 방법은 비밀번호 관리자 프로그램을 사용하거나, 직접 입력하여 무작위로 긴 비밀번호(15자 이상)를 생성하는 것이다. 여러 단어로 된 암호 구문을 만들어 사용하는 것도 좋은 방법이다.
5. 2. 솔트(Salt) 사용
솔트는 레인보우 테이블 공격을 방지하기 위해 사용하는 기술이다. 솔트는 암호화 과정에 임의의 데이터를 추가하여 각 암호에 대한 해시 사전을 다시 계산하도록 강제한다. 가능한 솔트 값의 수가 충분히 많으면 사전 계산을 불가능하게 만든다.[4]참조
[1]
논문
An off-line dictionary attack on a simple three-party key exchange protocol
https://ieeexplore.i[...]
2009-03-01
[2]
웹사이트
Dictionary Attacks 101
https://blog.codingh[...]
[3]
웹사이트
CrackStation's list
https://crackstation[...]
[4]
웹사이트
CAPEC - CAPEC-55: Rainbow Table Password Cracking (Version 3.5)
https://capec.mitre.[...]
2021-09-12
[5]
저널
Security Evaluation Against Collision-based Power Analysis on RSA Algorithm Adopted Exponent Splitting Method
http://dx.doi.org/10[...]
2015-10-31
[6]
뉴스
The top ten password-cracking techniques used by hackers
http://www.alphr.com[...]
Alphr
2018-06-26
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com