중간자 공격
이 문서의 {{#은는:내용}} 출처가 분명하지 않습니다. (2013년 11월) |
중간자 공격(man-in-the-middle attack, MITM)은 네트워크 통신을 조작하여 통신 내용을 도청하거나 조작하는 공격 기법이다. 중간자 공격은 통신을 연결하는 두 사람 사이에 중간자가 침입하여, 두 사람은 상대방에게 연결했다고 생각하지만 실제로는 두 사람은 중간자에게 연결되어 있으며 중간자가 한쪽에서 전달된 정보를 도청 및 조작한 후 다른 쪽으로 전달한다.
많은 암호 프로토콜은 중간자 공격을 막기 위하여 인증을 사용한다. 예를 들어, TLS/SSL 프로토콜은 공개 키를 기반으로 한 인증을 사용한다.
예제
갑이 을과 통신하려고 하는 상황에서, 병은 그 사이에 끼어들어 을에게 잘못된 메시지를 전달한다. 먼저, 갑이 을에게 공개키(Public Key)를 요청한다. 을이 갑에게 을의 암호 키를 보낼 때, 병이 이 사이에 끼어들 수 있다면 중간자 공격이 시작된다. 병은 갑에게 자신의 암호 키를 보내며 갑이 받은 것은 을의 암호키라고 믿게한다.
- 갑 "안녕 을! 너의 암호 키 좀 줘!" → 병 을
- 갑 병 "안녕 을! 너의 암호 키 좀 줘!" → 을
- 갑 병 ← [을의 암호 키] 을
- 갑 ←[병의 암호 키] 병 을
- 갑 "버스 정류장에서 봐!"(병의 암호 키로 암호화한 암호문) → 병 을
- 갑 병 "지하철 6번출구에서봐!"(을의 암호 키로 암호화한 암호문)→을
방어
중간자 공격을 막기 위한 방법에는 다음과 같은 것들이 제안되어 있다.
- 공개 키 기반구조(Public Key Infrastructures, PKI): PKI의 주된 방어는 상호인증을 통한 방어이다. 이 경우 애플리케이션이 이용자를 평가, 판단하는 동안, 사용자의 기기 역시 애플리케이션을 평가하는 방법이다.
- 강력한 상호 인증: 예를 들어 비밀번호, 암호키.
- 대기 시간 점검: 보통의 경우 20초가 걸리는데, 60초 이상 걸리는 경우 제 3자가 있다고 볼 수 있다.
- 다른 보안 채널 검증
- one-time pads는 중간자 공격에 면역이 되어있다.
- Carry-forward 검증
- 양자암호(Quantum Cryptography) 양자의 역학적 특성을 이용한 암호화기술. 비공개 채널으로 키를 주고 받고 공개적인 채널으로 암호문을 보내는 방법이다. 공격자가 키를 읽기 위해 펄스를 측정하는 순간 펄스가 변화되어 데이터가 무용지물이 되며, 수신자는 이러한 변화를 통해 해커의 공격 시도를 알 수 있어 데이터를 폐기하고 새로운 키를 재송신 받아 도청없는 통신이 가능하다.
중간자 공격의 포렌식 분석
중간자 공격인지 확인하기 위해 네트워크 트래픽을 캡처하여 분석할 수 있다. 분석을 하기 위해 필요한 것
- 서버의 IP주소
- 서버의 DNS 이름
- 서버의 X509 증명서(증명서가 믿을만한 CA에 의해 사인되었는가, 증명서가 무효가 되진 않았는가, 증명서가 최근에 바뀌진 않았는가 등)
암호학 외
주목할만한 암호학 외의 중간자공격은 2003년 Belkin Wireless Network Router에 의해 행해졌다. HTTP연결을 장악한 방법으로, 목적지에 트래픽을 전달하는 것은 실패하였으나, 이것 자체가 목적된 서버인 것처럼 반응한다. 다른 예로는 Turing porn farm이 있다. 이 방법은 스팸을 보내는 사람이 유저로 하여금 CAPTCHAs 문제를 풀게 하는 방법이다. 스팸을 보내는 사람이 우선 포르노 사이트를 개설한다. 이 사이트에 접근하기 위해 사용자는 CAPTCHAs 문제를 해결해야 한다. 이 공격은 이론적인 공격으로 2006년까진 아무런 증거가 제시되지 않았지만 2007년 10월 스패머가 윈도 게임을 통해 이 공격을 성공시켰다.
방법
- Dsniff: SSH와 SSL 중간자공격을 위한 툴
- Cain and Abel: 윈도 GUI기반 도구로 sniffing and ARP poisoning과 함께 MITM공격에 쓰인다
- Ettercap: LAN기반 중간자공격을 위한 툴
- Karma: 802.11 Evil Twin 공격을 사용하여 중간자 공격을 하는 툴
- Air-Jack: 802.11기반으로 중간자공격을 하는 툴
- SSL Strip: SSL기반 중간자공격툴
- SSL Sniff: SSl 기반 중간자공격툴. 원래는 인터넷 익스플로러의 결함을 찾기위해 만들어짐.
- Intercepter-NG: ARP poisoning 기능으로 윈도 네트워크 비밀번호를 알아내는 툴. SSLStrip과 SSL기반 중간자공격을 포함한다.
- Mallory: TCP와 UDP MiTMing proxy. MiTM SSL, SSH, 다른 프로토콜로 확장사용가능하다.
- wsniff: 802.11 HTTP/HTTPS 기반 중간자공격을 위한 툴
같이 보기
- 잘못된 파일 링크가 포함된 문서
- 출처가 필요한 글/2013년 11월
- 영어 표기를 포함한 문서
- 위키데이터 속성 P18을 사용하는 문서
- 위키데이터 속성 P41을 사용하는 문서
- 위키데이터 속성 P94를 사용하는 문서
- 위키데이터 속성 P117을 사용하는 문서
- 위키데이터 속성 P154를 사용하는 문서
- 위키데이터 속성 P213을 사용하는 문서
- 위키데이터 속성 P227을 사용하는 문서
- 위키데이터 속성 P242를 사용하는 문서
- 위키데이터 속성 P244를 사용하는 문서
- 위키데이터 속성 P245를 사용하는 문서
- 위키데이터 속성 P268을 사용하는 문서
- 위키데이터 속성 P269를 사용하는 문서
- 위키데이터 속성 P271을 사용하는 문서
- 위키데이터 속성 P347을 사용하는 문서
- 위키데이터 속성 P349를 사용하는 문서
- 위키데이터 속성 P350을 사용하는 문서
- 위키데이터 속성 P373을 사용하는 문서
- 위키데이터 속성 P380을 사용하는 문서
- 위키데이터 속성 P396을 사용하는 문서
- 위키데이터 속성 P409를 사용하는 문서
- 위키데이터 속성 P428을 사용하는 문서
- 위키데이터 속성 P434를 사용하는 문서
- 위키데이터 속성 P435를 사용하는 문서
- 위키데이터 속성 P436을 사용하는 문서
- 위키데이터 속성 P454를 사용하는 문서
- 위키데이터 속성 P496을 사용하는 문서
- 위키데이터 속성 P549를 사용하는 문서
- 위키데이터 속성 P650을 사용하는 문서
- 위키데이터 속성 P651을 사용하는 문서
- 위키데이터 속성 P691을 사용하는 문서
- 위키데이터 속성 P716을 사용하는 문서
- 위키데이터 속성 P781을 사용하는 문서
- 위키데이터 속성 P791을 사용하는 문서
- 위키데이터 속성 P864를 사용하는 문서
- 위키데이터 속성 P865를 사용하는 문서
- 위키데이터 속성 P886을 사용하는 문서
- 위키데이터 속성 P902를 사용하는 문서
- 위키데이터 속성 P906을 사용하는 문서
- 위키데이터 속성 P947을 사용하는 문서
- 위키데이터 속성 P950을 사용하는 문서
- 위키데이터 속성 P966을 사용하는 문서
- 위키데이터 속성 P982를 사용하는 문서
- 위키데이터 속성 P1003을 사용하는 문서
- 위키데이터 속성 P1004를 사용하는 문서
- 위키데이터 속성 P1005를 사용하는 문서
- 위키데이터 속성 P1006을 사용하는 문서
- 위키데이터 속성 P1015를 사용하는 문서
- 위키데이터 속성 P1045를 사용하는 문서
- 위키데이터 속성 P1048을 사용하는 문서
- 위키데이터 속성 P1053을 사용하는 문서
- 위키데이터 속성 P1146을 사용하는 문서
- 위키데이터 속성 P1153을 사용하는 문서
- 위키데이터 속성 P1157을 사용하는 문서
- 위키데이터 속성 P1186을 사용하는 문서
- 위키데이터 속성 P1225를 사용하는 문서
- 위키데이터 속성 P1248을 사용하는 문서
- 위키데이터 속성 P1273을 사용하는 문서
- 위키데이터 속성 P1315를 사용하는 문서
- 위키데이터 속성 P1323을 사용하는 문서
- 위키데이터 속성 P1330을 사용하는 문서
- 위키데이터 속성 P1362를 사용하는 문서
- 위키데이터 속성 P1368을 사용하는 문서
- 위키데이터 속성 P1375를 사용하는 문서
- 위키데이터 속성 P1407을 사용하는 문서
- 위키데이터 속성 P1556을 사용하는 문서
- 위키데이터 속성 P1584를 사용하는 문서
- 위키데이터 속성 P1695를 사용하는 문서
- 위키데이터 속성 P1707을 사용하는 문서
- 위키데이터 속성 P1736을 사용하는 문서
- 위키데이터 속성 P1886을 사용하는 문서
- 위키데이터 속성 P1890을 사용하는 문서
- 위키데이터 속성 P1907을 사용하는 문서
- 위키데이터 속성 P1908을 사용하는 문서
- 위키데이터 속성 P1960을 사용하는 문서
- 위키데이터 속성 P1986을 사용하는 문서
- 위키데이터 속성 P2041을 사용하는 문서
- 위키데이터 속성 P2163을 사용하는 문서
- 위키데이터 속성 P2174를 사용하는 문서
- 위키데이터 속성 P2268을 사용하는 문서
- 위키데이터 속성 P2349를 사용하는 문서
- 위키데이터 속성 P2418을 사용하는 문서
- 위키데이터 속성 P2456을 사용하는 문서
- 위키데이터 속성 P2484를 사용하는 문서
- 위키데이터 속성 P2558을 사용하는 문서
- 위키데이터 속성 P2750을 사용하는 문서
- 위키데이터 속성 P2980을 사용하는 문서
- 위키데이터 속성 P3223을 사용하는 문서
- 위키데이터 속성 P3233을 사용하는 문서
- 위키데이터 속성 P3348을 사용하는 문서
- 위키데이터 속성 P3372를 사용하는 문서
- 위키데이터 속성 P3407을 사용하는 문서
- 위키데이터 속성 P3430을 사용하는 문서
- 위키데이터 속성 P3544를 사용하는 문서
- 위키데이터 속성 P3562를 사용하는 문서
- 위키데이터 속성 P3563을 사용하는 문서
- 위키데이터 속성 P3601을 사용하는 문서
- 위키데이터 속성 P3723을 사용하는 문서
- 위키데이터 속성 P3788을 사용하는 문서
- 위키데이터 속성 P3829를 사용하는 문서
- 위키데이터 속성 P3863을 사용하는 문서
- 위키데이터 속성 P3920을 사용하는 문서
- 위키데이터 속성 P3993을 사용하는 문서
- 위키데이터 속성 P4038을 사용하는 문서
- 위키데이터 속성 P4055를 사용하는 문서
- 위키데이터 속성 P4114를 사용하는 문서
- 위키데이터 속성 P4143을 사용하는 문서
- 위키데이터 속성 P4186을 사용하는 문서
- 위키데이터 속성 P4423을 사용하는 문서
- 위키데이터 속성 P4457을 사용하는 문서
- 위키데이터 속성 P4534를 사용하는 문서
- 위키데이터 속성 P4535를 사용하는 문서
- 위키데이터 속성 P4581을 사용하는 문서
- 위키데이터 속성 P4613을 사용하는 문서
- 위키데이터 속성 P4955를 사용하는 문서
- 위키데이터 속성 P5034를 사용하는 문서
- 위키데이터 속성 P5226을 사용하는 문서
- 위키데이터 속성 P5288을 사용하는 문서
- 위키데이터 속성 P5302를 사용하는 문서
- 위키데이터 속성 P5321을 사용하는 문서
- 위키데이터 속성 P5368을 사용하는 문서
- 위키데이터 속성 P5504를 사용하는 문서
- 위키데이터 속성 P5587을 사용하는 문서
- 위키데이터 속성 P5736을 사용하는 문서
- 위키데이터 속성 P5818을 사용하는 문서
- 위키데이터 속성 P6213을 사용하는 문서
- 위키데이터 속성 P6734를 사용하는 문서
- 위키데이터 속성 P6792를 사용하는 문서
- 위키데이터 속성 P6804를 사용하는 문서
- 위키데이터 속성 P6829를 사용하는 문서
- 위키데이터 속성 P7293을 사용하는 문서
- 위키데이터 속성 P7303을 사용하는 문서
- 위키데이터 속성 P7314를 사용하는 문서
- 위키데이터 속성 P7902를 사용하는 문서
- 위키데이터 속성 P8034를 사용하는 문서
- 위키데이터 속성 P8189를 사용하는 문서
- 위키데이터 속성 P8381을 사용하는 문서
- 위키데이터 속성 P8671을 사용하는 문서
- 위키데이터 속성 P8980을 사용하는 문서
- 위키데이터 속성 P9070을 사용하는 문서
- 위키데이터 속성 P9692를 사용하는 문서
- 위키데이터 속성 P9725를 사용하는 문서
- 위키데이터 속성 P9984를 사용하는 문서
- 위키데이터 속성 P10020을 사용하는 문서
- 위키데이터 속성 P10299를 사용하는 문서
- 위키데이터 속성 P10608을 사용하는 문서
- 위키데이터 속성 P10832를 사용하는 문서
- 위키데이터 속성 P11249를 사용하는 문서
- 위키데이터 속성 P11646을 사용하는 문서
- 위키데이터 속성 P11729를 사용하는 문서
- 위키데이터 속성 P12204를 사용하는 문서
- 위키데이터 속성 P12362를 사용하는 문서
- 위키데이터 속성 P12754를 사용하는 문서
- 위키데이터 속성 P13049를 사용하는 문서
- 암호학
- 취약점 공격
- 첩보 기술
- 네트워크 보안
- 전송 계층 보안