본문 바로가기

Information Security

무선 네트워크 보안 (Wireless Network Security)

반응형

* Wireless LAN : IEEE 802.11 계열 표준으로 규정, 기존 유선랜에 무선AP를 연결한 후, 클라이언트에 무선 랜카드를 장착하여 접속하는 형태

- 무선랜 환경 구분 

환경별 분류 특징
상용 무선랜 - 이동 통신사가 고객 서비스용으로 구축한 무선랜


- 자사 고객 인증을 위해 USIM(Universal Subscriber Identity Module), MAC(Media Access Control), ID/Password 등을 이용
공중 무선랜 - 공공기관, 다수 서비스 업종 등의 불특정 다수 고객 편의를 위한 무선랜


- 별도 보안 관리자 없이 운영되어 보안에 취약
사설 무선랜 - 일반 사용자가 무선 공유기를 통해 구축
기업 무선랜 - 기업 내부 업무용으로 구축

 

 

 

* 무선랜 주요 용어

SSID
(Service Set Identifier)
- 서로 다른 무선랜의 구분을 위한 32byte의 이름


- 무선 장비에서 Wi-Fi 활성화 시에 나오는 무선랜 목록을 의미
AP
(Access Point)
- 무선 인터넷에 접속하기 위한 지점


- 유선랜의 마지막에 이치하여, 유,무선 간의 연결을 중계해주는 장치
BSS
(Basic Service Set)
- 특정 무선 AP와 연결된 Station들이 결합된 논리적인 망으로, 무선랜의 가장 기본 망 구성 단위
BSSID
(Basic Service Set Identifier)
- BSS를 식별하기 위한 ID


- 통상, 무선 AP의 48bit MAC 주소를 사용
ESS
(Extended Service Set)
- 무선 AP를 모두 엮은(여러 BSS에 의해 구성) 무선 네트워크
ESSID
(Extended Service Set Identifier)
- ESS를 식별하기 위한 ID


- 복수의 무선 AP를 설치한 환경에서 사용하는 SSID 확장 이름
DS
(Distribution System)
- 무선 AP가 연결된, 유선 네트워크를 의미


- Station은 통신 시 반드시, 무선 AP 이후 유선을 거쳐 통신
Beacon Frame/Message - 무선 AP가 자신이 관리하는 BSS의 존재를 정기적으로 알리는 Broadcast Frame/Message를 의미


- Station이 무선 네트워크를 찾도록 도와주는 역할


- IEEE 802.11 관리 프레임 중 하나로, 비콘 Frame을 보면 BSSID 정보가 들어 있으며, Frame Body에는 SSID 정보가 들어 있음. 
IEEE 802.11 - 최초 무선랜 표준안


- 별도 무선랜 접속 인증 기술, 전송 데이터 암호 기술이 포함되지 않음
IEEE 802.11b - 1999년 제정되어, 암호화와 인증 제공을 위한 WEP(Wired Equivalent Privacy) 보안 규격을 규정


- 단, WEP은 취약성이 발견됨
IEEE 802.11i - WEP 취약성으로 인해, 2004년 제정


- WPA1, 2(Wi-Fi Protected Access)의 두가지 보안 규격을 규정


- 강화된 사용자 인증 방식, 키교환 방식, 무선 구간 암호 알고리즘 제공

 

 

 

* 무선랜 보안 : 무선 주파수를 사용, 일정 공간 내 단말기 등을 무선으로 네트워크에 접속할 수 있도록 안전한 통신을 구현하는 기술

1) 무선랜 보안 취약점 : 물리적 / 기술적 / 관리적 취약점 존재

- 물리적 취약점

무선 AP 외부 노출 - 비인가자에 의한 도난, 파손 및 리셋을 통한 설정 초기화 등의 문제
무선 단말기 분실 위험 및 정보 유출 - 분실 시, 저장 데이터 유출 및 내부 보안설정 유출 가능성

- 기술적 취약점

암호화 하지 않은 통신 데이터에 대한 도청 - 무선랜은 공기를 전송매체로 하여, Broadcast하는 특성으로 인한 도청/스니핑에 매우 취약
무선전파 전송 장비에 대한 DoS - 대량의 무선 패킷을 전송하여 무선랜 무력화


- 무선랜이 사용하는 주파수 대역에 방해전파 방사하여 통신에 악영향
비인증 AP(Rogue AP)를 통한 데이터 수집
(Evil-Twin)
- 공격자가 불법 무선 AP를 설치하여, 무선랜 사용자들의 접속을 유도, 개인정보 등 데이터 수집
Rogue AP : 내부 보안 정책에 따르지 않고, 임의로 설치한 AP

- 관리적 취약점

무선 AP 장비에 대한 관리 미흡 - 파손, 도난 등이 발생하여도, 파악하지 못하는 경우 다수
사용자의 보안의식 부족 - 보안 정책과 보안 기능을 따르지 않는 사용자에 의해 허점이 발생 가능
전파 출력 관리 부족 - 전파 출력 조정을 하지 않아, 기관 외부로 무선랜 전파가 유출되어, 정보 노출 등의 취약점 발생 가능

2) 무선랜 보안 기술 유형

보안 기술 유형 보안 기술
무선랜
접속인증 기술
SSID 숨김 설정을 통한 접속 제한
MAC 주소 인증 (MAC 주소 필터링)
공유키 인증(PSK : Pre-Shared Key)
IEEE 802.1x/EAP (인증 서버 이용)
무선전송
데이터 암호 기술
WEP (Wired Equivalent Privacy)
WPA1, 2 (Wi-Fi Protected Access)

 

 

 

* WEP (Wired Equivalent Privacy)

1) 개요 : 유선랜과 동등한 수준의 보안성 제공을 목적으로 만든 초기 무선랜 보안 기술(802.11b 표준부터 적용)

데이터 암호화 키(고정된 공유키 + 무작위 생성 초기 벡터(IV : Initial Vector))를 이용한 RC4 알고리즘 기반
사용자 인증 공유키 인증 방식(상호 동일한 공유키를 갖는 사용자들은 정상 사용자로 인증)

- RC4 알고리즘의 자체 취약점 및 WEP 공유키가 쉽게 추출되는 취약점 존재


2) WEP 데이터 암호화 동작 방식

  1. 무작위(랜덤)로 생성하는 24bit 초기 벡터(IV) + 고정된 40bit(WEP-40) 또는 104bit(WEP-104)의 공유키를 조합하여 WEP 암호키 생성
  2. PRNG (Pseudo Random Number Generator : RC4 암호 알고리즘 기반 난수 발생기)에 해당 정보를 입력하여 Key Stream 생성
  3. CRC-32 알고리즘을 이용하여 무결성 체크값(ICV : Intergrity Check Value)을 생성한 후 평문과 조합
  4. Key Stream과 평문+ICV 값을 XOR하여 암호문을 생성
  5. 생성된 암호문에 IV와 802.11 표준에서 사용하는 헤더를 추가하여 최종 패킷 생성

CRC(Cyclic Redundancy Check - 중복 순환 검사) : 데이터 전송 시에 주어진 데이터에 대한 CRC 값과, 데이터 수신 시에 주어진 데이터에 대한 CRC 값을 계산, 두값을 비교하여 전송 데이터 오류 여부를 검사하는 목적의 체크값을 결정하는 방식


3) WEP 데이터 복호화 동작방식

WEP 복호화 과정

  1. 암호화된 패킷에서 IV(평문)을 추출 후 자신이 갖고 있는 WEP 공유키와 조합하여 PRNG를 통해 Key Stream을 생성
  2. 암호문과 키스트림을 XOR하여 평문과 ICV를 생성
  3. 복호화된 평문에서 CRC-32 알고리즘으로 ICV'를 구한 후 복호화된 ICV와 비교하여 패킷의 무결성 여부 검사
  4. 무결성 이상 없을 시, 평문 데이터 최종 수신

4) WEP 암/복호화 문제점

- IV가 무작위 생성이긴 하나, 24bit로 짧아, 재사용 될 가능성 존재

  • IV 재사용으로 인해 동일 키 스트림으로 암호화된 암호문들이 존재하며, 어느 한 암호문의 평문을 안다면 굳이 Key가 없어도 평문을 알고 있는 암호문을 통해 복호화가 가능
    • ex) 2개의 평문(P1, P2)에 대한 동일 키스트림(KS)를 이용한 암호문(C1, C2)가 생성되었다고 가정.
      (여기서 + 는 XOR 연산으로 가정)
    • C1 + C2 = (P1 + KS) + (P2 + KS) = P1 + P2
    • 단, 공격자가 평문 P1을 알고 있다면, C1 + C2 + P1 = P2 로, 암호문 P2를 Key없이 복호화가 가능
  • RC4 암호 알고리즘의 키 스케줄링 알고리즘IV 사용법의 취약점으로 인해, 암호키 노출 문제점 존재
  • 짧은 길이의 고정 암호키에 의한 취약성

5) WEP 인증 기술

WEP 인증 과정

  1. 무선단말(이용자)가 연결 요청 메세지 전송
  2. 무선AP는 임의 문장(Challenge)을 생성, 원본을 저장한 후, Challenge 사본을 응답
  3. 요청자는 Challenge값과 자신의 WEP 공유키를 이용, 암호화 후 무선 AP에 전송
  4. 무선 AP는 자신의 공유키를 이용하여 복호화 후, 원본과 사본 Challenge값을 비교 후, 동일할 시 이용자로 인증

6) WEP 인증 문제점

- 사용자 인증 시, 단방향 인증방식으로 인해, Rogue AP인지 구분할 수 없음

- 무선랜의 모든 장비가 동일한 WEP 공유키를 사용하여 유출의 위험 및, 이 문제로 공유키 주기적 변경 시, 관리의 어려움 발생

 

 

 

* IEEE 802.11i 보안 표준 (WPA - Wi-fi Protection Access)

1) 개요 : WEP 취약성 보완을 위한 2004년 제정 표준으로, 무선AP의 BSS(Basic Service Set) 내에서 강화된 인증 및 키 교환 방식, 무선구간 암호 알고리즘을 정의

802.11i 표준 WPA (또는 WPA1) WPA 2
암호 방식 RC4-TKIP
(Temporal Key Integrity Protocol)
AES-CCMP
(Counter mode with CBC-MAC Protocol)
인증 방식 개인(Personal) PSK (Pre-Shared Key) 모드
기업(Enterprise) 802.1x/EAP (Extensible Authentication Protocol) 모드

2) WAP (WPA1) 암호 방식 : RC4-TKIP(Temporal Key Integrity Protocol)

WPA1 RC4-TKIP 암호화 과정

- TKIP : WEP를 소프트웨어적으로 확장하여, WEP 방식 하드웨어 교체 없이 구현 가능한, 무선 채널 보호용 공유 비밀키 동적 생성을 통한 무선 구간 암호화 알고리즘

TKIP의 WEP 취약성 보완 방법 내용
확장 IV 값 사용 * WEP의 24bit IV를 48bit로 확장
IV 증가 방식 보완 * WEP의 IV값 순차적 증가 규칙을 보완
별도의 키 생성 및 적용 * WEP 암호화 이전에, 키 믹싱 하수를 이용하여 별도의 키 생성으로, 각 패킷/프레임 마다 별도의 암호 키 적용
무결성 체크 알고리즘 강화 * 기존 WEP의 CRC-32 무결성 체크 대신, MIC(Message Integrity Check)를 각 패킷/프레임 별로 적용
* MIC : 802.11i의 암호 메세지 인증 코드

- 1단계 : 임시키, 전송 주소(송신 시 경유하는 AP의 MAC 주소), TKIP Sequence Conuter(TSC)를 입력으로 1단계 키 믹싱 함수를 통해 TTAK 생성

- 2단계 : TTAK + TSC로 2단계 키 믹싱 함수를 통해 WEP 암호키 생성

- 3단계 : 전송(평문) 데이터에 MIC Key, 출발지, 목적지 주소를 이용하여 MIC 값 생성

- 4단계 : 전송(평문) 데이터에 MIC 값 추가 후, TSC와 Fragment하여 전송용 평문을 생성

- 5단계 : WEP 암호키와 전송용 평문으로 WEP 암호화 적용, 암호문을 생성


3) WPA1 암호화 문제점

- 여전히 취약한 RC4 암호 알고리즘 사용

- 키 관리 방법 제공하지 않음

- 무선 패킷 수집을 통한 키 크랙 공격에 대한 취약성 여전히 보유

- WEP 소프트웨어적 확장으로 인한 암/복호화 처리 시간 지연 등의 성능상 문제


4) WPA2 암호 방식 : AES-CCMP(Counter mode with CBC-MAC Protocol)

- CCMP : AES가 제공하는 블록 암호 모드 중, CTR(Counter mode) 기반으로 CBC-MAC을 결합한 CCM(CTR 기반 암호화와 CBC-MAC기반 메세지 인증을 동시에 제공) 모드 기반 알고리즘

  • AES 기반 128bit 대칭키 사용
  • 패킷 Payload 영역과 IEEE 802.11 헤더의 무결성 보장
  • 패킷 Number를 이용한 Replay Attack 방지

5) WPA1/WPA2-개인(Personal) 인증 방식 : PSK(Pre-Shared Key)

- 인증 서버가 없는 소규모 망에서, 802.1x에 규정된 EAPoL-Key 프레임을 활용하여 4Way-Handshake 과정을 통해 상호간 동일 공유키를 가지고 있는지 확인하여 인증을 수행

* PSK 인증 동작 방식

WPA-PSK 인증 및 키 생성 과정

통신 단말들에 설정된 접속 PW와 SSID를 이용하여, 256bit의 사전 공유키(PSK)를 각자 생성

PBKDF2 알고리즘 : 사용자 패스워드 기반 키 유도 함수로, 사용자PW에 Salt 및 반복 횟수 등을 지정하여 패스워드에 대한 Digest를 생성하는 알고리즘

PMK(Pairwise Master Key) : PSK 인증 방식에서는 PSK를 PMK로 사용 / 인증 서버가 있는 802.1x 인증 방식에서는 인증 단계에서 생성된 MSK(Master Session Key)의 일부를 잘라서 PMK로 사용

- PSK(PMK) = PBKDF2(PW, SSID, SSID길이, 4096, 256)
(입력값을 4096번 해시 반복 수행 후, 256bit PSK를 생성)

4Way-Handshake를 통해 얻은 파라미터와 PSK(PMK)를 이용하여 512bit의 PTK를 생성

PRF-512(Pseudo Random Function) : 다양한 입력값을 해시하여 의사 난수를 생성하는 알고리즘 (출력 비트에 따라 128, 192, 256, 384, 512 등으로 구분)

- PTK = PRF-512(PSK(PMK), "Pairwise Key expansion", Min(AA, SA) || Max(AA, SA) || Min(SNonce, ANonce) || Max(SNonce, ANonce))
(위 값들을 조합한 입력 값으로 512bit 난수(PTK) 생성)

PTK는 세션동안 사용되는 3개의 Key로 파생

  • KCK(EAPoL-Key Confirmation Key) : 송수신 메세지의 무결성, 송수신 인증을 위한 MIC용 키
  • KEK(EAPoL-Key Encryption Key) : 부가적인 데이터(그룹키 등) 암/복호화용 키
  • TK(Temporal Key) : 송수신 데이터 암/복호화용

동일 PTK 생성 여부 확인(상호 MIC 검증)

- MIC는 PTK로 부터 파생된 KCK와, 주고 받은 파라미터(AA, SA, ANonce, SNonce)를 HMAC 알고리즘(HMAC-MD5 또는 HMAC-SHA1)을 이용하여 생성되며, 이 검증은 정당한 사용자로의 인증을 의미


6) WPA-PSK 인증방식 문제점

- PTK 생성 시 사용되는 파라미터 중 PSK(PMK)를 제외하고 모든 파라미터는 네트워크 상에 노출되어 Dictionary Attack을 통해 PTK를 생성, 노출된 MIC 값을 통해 패스워드 크랙 될 수 있음

WPA-PSK 사전 공격 절차

  • 공격자가 4-Way Handshake 과정을 스니핑
  • 사전 파일을 이용하여 PSK(PMK)를 추측하여 생성
  • 생성한 PSK(PMK)와 스니핑한 무선패킷 내의 파라미터를 이용, PTK 생성
  • 생성한 PTK로 MIC값을 생성 후, 스니핑한 MIC 값과 비교하여 검증
    (일치하지 않을 경우, 다른 단어를 사용하여 위 과정 반복)

6-1) Kali-linux 기반 WPA-PSK 접속/인증 패스워드 크래킹

- aircrack-ng : 무선랜 패킷 모니터링, 크래킹, 분석 도구 등이 탑재된 소프트웨어 (아래 포함 프로그램)

  • airmon-ng : 무선랜 인터페이스를 Monitor 모드로 전환시키는 프로그램
  • airodump-ng : 무선 패킷을 수집, 저장하는 프로그램
  • airdecap-ng : 암호화된 패킷 덤프를 복호화해주는 프로그램

- 진행 과정

  • 대상 무선 AP 설정 확인 : 공유기 관리자에서 SSID, 인증방법, 네트워크 키에 대한 사전 파악
  • iwconfig 명령을 통한 무선랜 인터페이스 상태 확인

iwconfig

  • 무선랜 인터페이스 Monitor 모드 활성화
    • 유선랜의 Promiscuous Mode와 동일한 역할로, 주변 모든 무선 패킷을 수신하는 모드
    • airmon-ng start wlan? 로 모니터 모드 활성화 시, 인터페이스 명은 wlan? -> mon? 또는 wlan?mon 으로 변경

airmon-ng start wlan?

  • 주변 무선 단말들의 정보를 수집하여 해킹할 무선 AP 및 단말을 선정
    • airodump-ng wlan?mon 명령어로 주변 무선 패킷을 수집 후, 패스워드를 크랙할 대상 AP와 단말 선택

  • airodum-ng wlan?mon 명령 시 확인되는 단말 정보
    • ESSID : 네트워크 정보
    • BSSID : 무선AP MAC 주소
    • 보안 표준(ENC, CIPHER, AUTH) : 보안 규격, 암호화 방식, 인증 기술
    • STATION : 대상 무선 AP에 연결된 단말의 MAC 주소
  • 해킹할 무선 AP와 단말(스테이션) 사이 패킷 수집
    • airodump-ng -c [채널번호] --bssid [타겟MAC 주소] -w wpa mon?
      (위 설정 정보에 맞게 지정 채널로 통신하는, 지정 타겟의 패킷을 wpa 접두어를 가진 덤프파일로 저장)

CH11 채널로 통신하는 타겟 인터페이스(mon0)의 무선 패킷을 수집

  • 무선 AP와 Station간 재인증이 발생하도록 공격
    • 타겟에 인증해제(Deauthentication) 패킷을 전송하여 기존 무선AP와의 연결을 강제 종료
    • 인증 해제 패킷 전송 시, 해당 타겟 Station은 재인증을 시도하기 때문에, 4-Way Handshake 과정의 패킷 수집이 가능
    • aireplay-ng --deauth [패킷 전송 횟수] -a [타겟 무선AP의 BSSID] -c [타겟 Station의 MAC 주소) mon?

  • 수집한 인증패킷 덤프파일을 이용하여 PW Crack 수행
    • aircrack-ng -w [사전공격용 사전 파일 지정] [이전 확보한 덤프파일 지정]

  • 크랙한 패스워드를 이용한 무선전송 데이터 복호화
    • airdecap-ng -p [크랙한 패스워드] -e [Target 네트워크의 SSID] [암호화된 무선전송 데이터를 담은 덤프파일]


* WPA-기업(Enterprise) 인증 방식 : IEEE 802.1x/EAP(Extensible Authentication Protocol)

RADIUS : 네트워크 통신에서 3A(Authentication, Authorization, Accounting)을 중앙에서 처리할 목적으로 사용하는 서버/클라이언트 프로토콜로 UDP를 사용한 인증서버

EAP : 단순 캡슐화 개념의 포로토콜로, EAP 자체는 실제 인증 프로토콜이 아니며, 인증 방법을 전송하는 역할을 수행
(내부적으로 EAP-MD5, EAP-TLS, 터널 방식(EAP-TTLS), PEAP 등의 다양한 인증 방법 지원)

- RADIUS 인증서버를 이용하여 상호 인증을 수행, 해당 결과를 기반으로 AP 접근을 허용

  1. 사용자 A가 무선랜 접속을 요청
  2. 무선 AP에서 A의 연결을 설정할 때까지, 다른 사용자 연결시도를 차단, A에 응답 메세지 발송
  3. 사용자의 EAPoL 시작 메세지 전송으로 RADIUS를 이용한 연결 설정을 시작함을 AP에 알림
  4. 무선 AP는 EAP-요청 메세지를 사용자 AP에게 전송하여 사용자 A의 정보를 요구
  5. 사용자 A가 ID/PW를 입력창을 통해 입력하여, 사용자 인증 정보를 무선 AP에 전송
  6. 무선 AP는 사용자 인증 정보를 RADIUS 서버에 접속요청 메세지에 담아 상호 인증 요구
  7. RADIUS 서버는 AP에게 사용자 A로 전송할 인증 챌린지 메세지 전송
  8. 무선 AP가 사용자 A에게 해당 챌린지 메세지 전송
  9. 사용자 A가 챌린지에 대한 EAP 응답(ID/PW를 해시)메세지를 구성하여 무선 AP에게 전송
  10. 받은 EAP 응답값을 무선 AP가 RADIUS 서버에 접속요청 메세지를 전송
  11. RADIUS 서버가 사용자 관리 DB 정보를 이용, 자신이 보낸 챌린지에 대한 대응 메세지를 생성, 사용자 A가 보내온 값과 비교하여 사용자 A를 인증
  12. 사용자 A와 RADIUS 서버의 상호 인증 완료

 

 

 

* 무선랜 보안 대책

무선랜 Position 설명
기업 네트워크 * 무선 단말 인증
- 기업 환경 무선단말 인증은 WPA2로 RADIUS 서버를 통한 EAP 기반 인증 권고


* 전송 데이터 암호화
- WPA2 규격의 AES-CCMP 방식 권고
개인 및 SOHO
(Small office/home office) 사업자
* 사설망을 통한 인증 및 암호화
- 인증 : 인증서버를 두기 어려우므로, WPA2 PSK 인증 방식 설정 및 충분히 안전한 인증 패스워드 이용
- 암호화 : WPA2 규격의 AES-CCMP 방식 권고


* 무선랜 사업자의 서비스 이용
- 이동통신사에서 제공하는 인증서버를 통한 단말 인증 기능 사용 고려
물리적 보안 * 물리적 접근 제한
- 도난 방지를 위한 보호케이스 설치, AP 리셋 버튼 차단 등
관리적 보안 * SSID 변경 및 Broadcast 금지
- SSID 초기 설정값이 아닌, 새로운 값으로 변경, SSID를 Broadcast 하지 않고, 숨김 모드로 설정하여 노출 방지
(단, 이 경우 무선 데이터 분석 도구(ex. airodump)를 이용 시 쉽게 노출되는 단점)


* Default PW 변경
- 초기 설정된 PW가 아닌, 추측하기 어려운 방식으로 주기적으로 변경, 무선 AP 관리자 모드 접속을 방지


* MAC 주소 필터링
- 접속을 허용할 단말의 MAC 주소를 무선 AP에 사전 등록
(단, MAC주소 위조 시, 쉽게 무력화 되는 단점)

 

반응형