[무선랜 보안①] 무선랜의 개요 및 단순 공격 유형별 분석
상태바
[무선랜 보안①] 무선랜의 개요 및 단순 공격 유형별 분석
  • 김기태 엑서스테크놀로지 기술이사
  • 승인 2003.12.26 00:00
  • 댓글 0
이 기사를 공유합니다

최근 들어 무선랜의 사용이 급증하면서 새로운 형태의 다양한 네트워크 공격 방법들이 나타나고 있다. 기존의 사내 네트워크 혹은 인터넷 접속은 모두 유선으로만 이뤄져 있어 물리적으로 침투 위치를 확보해야만 하는 문제가 있었으나 무선랜의 경우 전파가 도달 가능한 거리에 있는 경우 어디에서든지 스니핑과 침투 공격이 가능하다. 또한 무선랜은 사내망이므로 기존 인터넷 접속 망에 적용되는 보안 정책을 적용하기가 쉽지 않다.

여기서 무선랜을 통한 여러 가지 공격 방법에 대한 소개와 이를 방지할 수 있는 기법들을 소개한다. 현재까지 나와있는 공격 방법들은 대부분 방어가 가능한 형태이며 관리자의 강력한 보안 정책 수립에 따라 안전하고 편리한 무선랜 환경을 구축할 수 있다. <편집자>

현재 무선랜이라고 말하는 대부분의 제품들은 IEEE에서 제정한 IEEE 802.11b 규격을 따르는 무선랜 제품군이라고 말할 수 있다. IEEE 802.11b 규격의 무선랜 제품은 2.4GHz 대역의 주파수를 사용하며 DSSS(Direct Sequence Spread Spectrum) 방식을 물리 계층(PHY)에서 채택하고 있다.

데이터 링크 계층에서의 프로토콜은 IEEE 802.11을 따르고 있으며 인증 및 보안 규격 역시 IEEE 802.11 규격을 따르고 있다. 최근에 새롭게 출시되고 있는 IEEE 802.11a 규격의 제품 혹은 IEEE 802.11g 규격의 제품 역시 물리 계층만 다를 뿐 데이터 링크 계층에서의 프로토콜은 IEEE 802.11과 동일하다. 참고로 IEEE 802.11a 규격은 5.2GHz 혹은 5.8GHz 대역의 주파수를 사용하고 있으며 OFDM(Orthogonal Frequency Division Multiplexing) 방식을 물리 계층에서 채택하고 있으며 IEEE 802.11g의 경우 2.4GHz 대역에서 OFDM 방식을 채택하고 있다.

무선랜은 크게 두 가지 콤포넌트로 구성된다. 하나는 액세스 포인트(Access Point, 이하 AP)이고 하나는 무선랜 네트워크 어댑터(Wireless Network Interface Card, 이하 WNIC)이다. AP는 유선 네트워크에 접속되어 무선 사용자들의 트래픽을 중계하는 역할을 담당하는 장비이고 WNIC은 STA에서 AP로 접속하기 위한 네트워크 인터페이스를 담당하는 장비이다.

보안상의 문제점은 바로 AP와 WNIC간에서 주로 발생한다. AP와 WNIC간 통신은 위에서 언급한 대로 무선 구간을 이용하기 때문에 전파 도달 거리에 있는 모든 무선랜 장치들은 해당 전파를 수신할 수 있게 된다.

무선랜의 적용 방안

무선랜의 적용 방안은 표준안에 있는 구성과 최근에 추가된 IEEE 802.1x 규격이 적용되어 보안이 강화된 구성으로 나뉘어 진다.

1) IEEE 802.1x 규격을 적용하지 않고 사용하는 경우

무선랜을 구축할 때 IEEE 802.1x 규격을 적용하지 않고 사용하는 경우는 크게 세 가지로 나누어 볼 수 있다. 오픈 시스템 인증 방식에 WEP 암호화를 사용하지 않는 경우와 오픈 시스템 인증 방식에 WEP 암호화를 사용하는 경우, 그리고 마지막으로 쉐어드 키 인증 방식에 WEP 암호화를 사용하는 경우이다. 그럼 각각의 경우에 대해 취약점을 분석해 보자.

2) 오픈 시스템(without WEP encryption)

오픈 시스템은 글자 그대로 인증이 없는 경우-즉, Null Authentication-이다. 인증 없이 접속하고 사용하는 데이터는 암호화를 하지 않는 구성이 바로 이 구성이다.

이러한 구성의 장점은 네트워크 성능이 가장 좋으며 사용자가 구성하고 사용하기에 가장 편리하다는 데 있다. 대부분의 경우 팩토리 디폴트 셋팅(Factory Default Setting)만으로도 동작을 하며 사용자는 IP 주소만 설정해 주면된다.
단점으로서는 보안이 떨어진다는 점이다. 이 구성을 공격하는 방법에는 여러 가지가 있으며 또한 공격 방법들이 상대적으로 단순하고 쉬워서 절대로 권장할 수 없는 구성이다.

그럼 각각의 공격 유형에 대해 알아보자.

· 공격 유형 1. 액티브 프로빙을 통한 AP 찾기

ESSID를 브로드캐스팅하는 경우 액티브 프로빙(액티브 프로빙)을 통해서 해당 AP를 찾을 수 있다. 액티브 프로빙을 하는 방법은 여러 가지가 있다. 공개된 툴을 사용할 수도 있고 OS에서 지원하는 툴을 사용할 수도 있다.

우선 가장 손쉬운 방법으로는 윈도 XP에 설치된 와이어리스 제로 컨피규레이션 서비스(Wireless Zero Configuration Service)를 이용할 수 있다. 사용할 수 있는 무선 네트워크 목록이 액티브 프로빙을 통해 얻어지는 결과값이다. 목록에서 암호화가 걸려 있지 않은 AP를 선택하면 바로 접속이 이루어진다.

공개된 툴은 윈도용으로 넷스텀블러(Netstumbler)가 가장 유명하며 PDA용으로 미니스텀블러(Ministumbler)도 있다. 리눅스용으로 제작된 툴들은 더욱 종료가 많으나 대표적인 것으로 디스텀블러(DStumbler)가 있다. 이러한 툴들은 지속적으로 사이트 서베이(Site Survey)를 통해서 암호화가 걸려있지 않은 AP들을 찾아낸다.

또 다른 방법은 WNIC 제조사에서 제공하는 유틸리티를 이용하는 방법이다. 대부분의 경우 제조사에서 제공하는 유틸리티에서 액티브 프로빙 기능이 포함되어 있으므로 이를 이용할 수 있다.

· 공격 유형 2. 네트워크 침투

일단 접속할 AP를 찾은 경우 해당 AP로의 접속은 별도의 절차 없이 이뤄진다. AP에 접속한 이후 인터넷상에서 쉽게 구할 수 있는 패킷 스니퍼 프로그램을 이용해 ARP 패킷이나 DHCP 패킷 등을 확인할 수 있다. 대표적인 툴로는 이써리얼(Ethereal) 등이 있으며 리눅스에서는 키스멧 와이어리스(Kismet Wireless) 프로그램을 이용하면 해당 AP에서 찾을 수 있는 IP 주소 대역을 바로 찾아 주기도 한다.

ARP 패킷을 분석하면 현재 해당 AP에서 사용하는 사용자들의 IP 주소가 보이게 되므로 이를 이용해 IP를 도용할 수 있다. DHCP를 이용해 IP 주소를 동적으로 할당하는 경우에는 그냥 접속하면 IP 주소를 바로 할당 받을 수 있다. DHCP 사용 여부는 스니퍼에서 DHCP 리스판스(Response) 패킷이 수집되면 DHCP를 사용한다고 가정할 수 있다.

일단 적합한 IP 주소를 확보하면 망에 침투할 수 있는 여건은 마련된 셈이다. 이 후의 공격은 해당 AP에 접속한 사내 사용자와 같은 권한이므로 네트워크 내의 다른 호스트나 사용자 PC를 여러 가지 형태로 공격할 수 있다.

· 공격 유형 3. 패킷 스니핑

WEP 암호화가 걸려있지 않기 때문에 패킷 스니핑을 통해 다른 사용자의 데이터나 ID와 패스워드를 알아낼 수 있는 경우가 있다. 이러한 무선 패킷 스니핑을 하기 위해서는 별도의 툴이 필요한데 윈도용으로는 에어로피크(AiroPeek)나 스니퍼 와이어리, 키스멧 와이어리스 혹은 이써리얼 등을 사용할 수 있다. 리눅스에서는 WNIC의 칩셋 벤더에 따라 RF 모니터 모드를 지원하는 경우가 있는데 RF 모니터 모드를 이용할 경우 원하는 채널 혹은 전 채널에서 패킷 스니핑이 되므로 사용자가 사용하는 모든 데이터를 수집할 수 있다. 이러한 패킷 스니핑을 통해 암호화를 하지 않는 응용 프로그램들-예를 들어 웹 사이트 로그인 데이터, 웹 메일 로그인, 혹은 POP3 이메일 계정 등-의 ID와 패스워드를 알아 낼 수 있다. 그리고 암호화가 이뤄지는 경우라도 취약점이 알려진 경우-예를 들어 윈도 넷 로그인 등-라면 수집한 패킷을 이용해 오프라인에서 부루트 포스(Brute-Force) 공격이나 딕셔너리(Dictionary) 공격 등을 통해 ID와 패스워드를 알아 낼 수도 있다.

· 공격 유형 4. 무선 클라이언트에 대한 공격

동일한 AP에 접속되어 있는 무선 클라이언트에 대한 공격은 유선 네트워크를 통하지 않고서도 가능하다. AP의 역할은 일종의 허브와 비슷한 역할을 수행하는데 동일 AP에 접속된 클라이언트끼리의 통신은 AP에서 바로 중계하는 경우가 많아서 직접적인 공격의 대상이 될 수 있다. 또한 일반적으로 서버보다는 클라이언트에 대한 방어가 허술한 경우가 많아 개인 정보 유출이 쉽게 이뤄질 수 있는 측면이 있다.

오픈 시스템의 경우라도 ESSID(Extended Service Set Identifier)를 브로드캐스팅 하지 않는 경우 ESSID를 알아내야만 한다. 이 경우 위 공격 유형 3에서 사용하는 패킷 스니퍼를 가지고 데이터를 수집하면 어쏘시에이션 메시지(Association Message)에서 사용하는 ESSID가 평문 형태이므로 쉽게 ESSID를 알아낼 수 있다. 위에서 언급한 스니퍼 와이어리스, 에어로피크, 그리고 키스멧 와이어리스 등으로 손쉽게 히든(Hidden) ESSID를 찾을 수 있다. 따라서 이 구성에서는 사용자의 ID나 패스워드 등을 손쉽게 알아낼 수 있으며 아무런 보안이 없는 관계로 사내 망을 완전히 개방해 놓은 형태이다.

3) 오픈 시스템(with WEP Encryption40/104bit)

이러한 구성은 지원하지 않는 AP들도 많아 잘 사용되지 않는 구성이다. 우선 오픈 시스템 인증은 인증이 별도로 없기 때문에 누구나 AP에 접속할 수 있지만 WEP 인크립션(Encryption)을 통해 데이터를 암호화하므로 WEP 키를 알지 못하면 통신이나 도청이 불가능하다. 그러나 최근에 발견된 WEP 알고리즘의 취약점으로 인해 WEP 키를 암호화된 데이터 트래픽만 가지고 알아낼 수 있는 기법들이 다양하게 알려지고 있다.

이 구성을 적용할 경우의 대표적인 공격 유형들은 앞서 언급한 공격 유형들 중 대부분은 적용 가능하다. 다만 데이터 트래픽이 암호화되어 있으므로 WEP 키를 복구하는 과정이 선행되어야 한다.

· 공격 유형 1. 패킷 스니핑을 통한 WEP 키 복구

WEP 암호화 알고리즘은 기본적으로 RC4라고 하는 스트림 암호화 알고리즘을 기반으로 하고 있다. 그러나 최근 발견된 RC4 알고리즘의 취약점으로 인해 특정한 조건에서 암호화 키를 복구할 수 있는 방법들이 소개되었으며 이러한 기법들을 이용한 WEP 키 복구 프로그램들이 개발, 공개되어 있다. 이러한 프로그램들 중 대표적인 프로그램이 에어스노트(Airsnort)와 웹크랙(WEPCrack)이다. 에어스노트나 웹크랙을 이용하면 WEP 알고리즘으로 암호화된 데이터 트래픽을 충분히 모아서 WEP 키를 알아낼 수 있다.

일단 WEP 키를 알아내면 패킷 스니핑을 통해 데이터의 수집 및 네트워크 침투가 가능해 진다.

4) 쉐어드 키 어쏘시에이션(with WEP Encryption 40/104bit)

쉐어드 키 인증은 사용자가 AP에 접속 시 미리 설정한 WEP 키를 알아야만 인증을 하도록 하는 방법이다. 이러한 방법은 원래의 목적대로라면 오픈 시스템보다 보안성이 높아야 하지만 알고리즘의 취약점으로 인해 오히려 보안성이 떨어진다.

쉐어드 키 인증 알고리즘은 단순한 챌린지 리스폰스(Challenge-Response) 인증 방식을 응용한 것으로 리플레이(Replay) 공격이나 딕셔너리(Dictionary) 공격을 방어하는 수단이 갖춰져 있지 않다. 따라서 굳이 WEP 알고리즘의 취약점을 공격하지 않아도 인증 패킷만 스니핑을 해도 손쉽게 WEP 키를 알아낼 수 있다. 일단 WEP 키를 알아낸 후 AP에 접속하면 암호화 역시 동일한 키를 사용하므로 쉽게 내부 사용자와 같은 권한을 취득할 수 있다.

가능한 공격 방법은 앞서 설명한 공격 유형들이 모두 유효하며 다만 어쏘시에이션(Association)시 수행되는 쉐어드 키 인증 알고리즘의 분석을 통한 WEP 키의 복구 공격이 추가된다.

· 공격 유형 1. 쉐어드 키 인증 방법에 대한 공격

쉐어드 키 인증 방법은 전통적인 챌린지 리스판스 인증 방법이다. 챌린지 리스판스 인증은 사용자 패스워드를 직접적으로 전송하지 않는다는 장점이 있지만 리스판스를 만들어 내는 알고리즘의 보안성과 챌린지 리스판스 페어를 조합한 리플레이 공격 등 취약점이 많이 드러나 있다.

쉐어드 키 인증 알고리즘 역시 AP에서 챌린지를 난수로 전송하면 리스판스를 WEP 암호화해서 전송하게 된다. 이 때 사용하는 알고리즘이 WEP 암호화 알고리즘이므로 챌린지 값과 리스판스 값을 수집하면 노운 플레인텍스트 어택(Known Plaintext Attack)이 가능해진다. 또한 WEP 암호화 엔진은 대부분의 WNIC에 내장되어 있으므로 이를 이용하면 보다 효율적인 공격이 가능해진다.

챌린지 리스판스를 공격하는 또 다른 방법은 리플레이 어택(Replay Attack)이다. 이것은 챌린지와 리스판스 값은 모두 스니핑이 가능하기 때문에 가능한 방법으로 챌린지와 리스판스 페어를 계속해서 수집한 다음 액세스 포인트(AP)에서 목록에 있는 챌린지 값을 전송하면 공격자는 목록에 있는 리스판스 값을 전송하여 접속 권한을 획득할 수 있다.

사용자 인증 규격 적용한 무선랜 환경 구축 필요

이상에서 보듯이 현재 802.11에서 제공하는 보안 규격만으로는 무선랜을 안전하게 구축할 수 없다. 따라서 IEEE 802.1x라는 포트 기반의 사용자 인증 규격을 적용해 강화된 무선랜 환경을 구축해야 하는데 이 방법 역시 적용 방법에 따라 보안의 허점이 노출될 수 있다. 다음 회에서는 IEEE 802.1x를 이용해 무선랜을 구축하였을 경우 공격 유형에 대해 알아보도록 한다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.