무선 랜
- Ethernet 개념으로써 보통 내부 네트워크의 확장으로써 이동
- 내부의 유선 네트워크 AP(Access Point) 장비를 설치하여 사용
- Access Point와 무선 장비들이 무선으로 연결되어 있음
- AP를 통해서 무선 단말기와 소통함
무선 랜이 있으려면 안테나가 필요하다.
무선랜 프로토콜은 802.11 표준 규약을 지킨다.
SSID
우리가 와이파이 설정에 들어가면 와이파이 목록이 뜬다. 이것들이 AP이다.
어떻게 AP의 목록을 알 수 있는걸까?
대부분의 Access Point들은 주기적으로 자신의 SSID를 브로드캐스팅한다.
SSID(Service Set Identifier) : AP 탐색 시 나타나는 각 AP의 이름
악의적인 사용자가 무선 랜 환경에 들어오게 된다면, AP에 연결된 패킷들을 쉽게 스니핑할 수 있다.
SSID 브로드캐스팅 금지
Access point에 대한 접근을 제한해야한다.
공용이 아닌, 특정 사용인들만 연결하도록 해야한다면 AP를 외부에 노출시키지 않으면 된다.
즉, SSID가 AP 탐색에 노출되지 않도록 SSID의 브로드 캐스팅을 차단한다.
단점 : 새로운 사용자는 AP에 접근할 수 없음
WEP (Wired Equivalent Privacy)
유선랜을 사용하는 것과 유사한 연결을 제공한다.
우리가 비밀번호를 입력하여 와이파이에 연결하는 것이 이 방법이다.
- 무선 랜을 암호화하는 가장 기본적인 방법
- WEP 사용 AP 접속 시, WEP 키 입력
- 모든 사용자가 동일한 암호키 사용 - 40비트~ 128비트 키 사용
- 64비트 이하의 WEP키를 사용하는 경우 무선 랜 스니핑을 통해 패킷을 모으면 30분 이내에 복호화가 가능하다 (30만개)
- 높은 보안성이 요구되는 무선랜에서는 효과가 없음
WPA & WPA-PSK
WPA : Wifi Protected Access
WPA-PSK : Pre-Shared Key
- 키 값이 쉽게 깨지는 WEP의 취약점 보완
- TKIP(Temporal Key Integrity Protocol) IEEE 802.11i 보안 표준 사용
- 모든 사용자와 AP가 공유키 설정
공유키를 기반으로 128비트 통신용 암호화 키를 새로 생성 - 암호키를 특정 기간이나 일정 크기의 패킷 전송 후에 자동으로 변경
AP에 접속하는 사용자마다 암호화 키 사용
AP가 단 하나의 WEP 키를 가지고 있고, 해당 AP 사이에 주고 받는 패킷은 전부 하나의 WEP 키로 암호화 되어있기 때문에 금방 WEP 키를 알아낼 수 있는 것이 가장 큰 단점이였다.
따라서 WPA 방식은 키를 바꿔주는 것이다.
공격자는 하나의 키로 암호화된 패킷이 많아야 복호화할 수 있는데, 해당 키를 계속 바꾸기 때문에 특정 키로 암호화된 패킷을 많이 얻을 수 없다.
Q) 매번 사용하는 키가 달라지니까 안전한가?
A) WEP 방식보다는 안전하다
신규 사용자는 바꾼 키를 알지 못하기 때문에, 처음 접속할 때는 WEP 키로 접속하게 된다.
그리고 AP로부터 새로운 공유키를 받아서 사용한다.
따라서, 공격자가 AP에 접속하는 단말기들을 스니핑하여 WEP키를 알아낼 수 있음
취약성
- 모든 사용자가 하나의 공유키를 사용한다.
- 해당 공유키를 쉽게 얻을 수 있고 해당 공유키를 알아낸다면 쉽게 AP에 접속할 수 있음
- 사용자에 대한 인증 없음
어떤 단말이 해당 AP에 접근할 수 있는가에 대한 것을 AP가 연결된 서버에서 해줘야함 (해주는 곳도 있음) - 사용 권한에 대한 중앙 관리 불가
- 인증서, 스마트카드 등의 다양한 인증 제공 불가
- 세션별 암호화 키를 사용하는 것이 아니므로, 암호화 키가 크랙될 경우 재사용 가능
EAP & 802.1X
각 AP에 대해 권한이 있는 사람만 AP에 접근할 수 있도록 개별적으로 접근 통제가 이루어져야함
▷ EAP (Extensible Authentication Protocol)
802.1X : 포트에 대한 접근을 통제하는 프로토콜
EAP (Extensible Authentication Protocol)
- 중앙 서버가 존재함
- 각각의 모바일 디바이스들의 상호 인증을 수행함
- ex) 학교 와이파이에 접근하기 위해 해당 학교 학생/교직원인지 인증을 수행해야 와이파이 연결 가능
- 인증을 수행한 후에만 접근 권한을 가짐
두 단계로 진행됨
- 개개인에 대해 권한이 있는지 판단 : 권한이 없으면 접속해서 사용할 키를 제공하지 않음
- 권한이 있다면 그 사용자에게 사용할 수 있는 KEY를 줘서 그 사용자만 AP를 사용할 수 있게 함
Q) 사용자 인증이 되면 바로 사용하지 않고 왜 KEY를 공유하는가?
A) 키를 아는 사람만 AP를 사용하도록 하기 위해 KEY를 공유한다.
서버가 사용자 인증
- 클라이언트가 AP에 접속을 요청
- AP는 무선 랜 네트워크에 클라이언트가 로그인할 때까지 접속을 차단
- RADIUS 서버가 클라이언트에 인증 Challenge를 전송 (일종의 랜덤값을 전송함)
- 클라이언트가 Challenge에 대한 응답으로, ID와 패스워드에 대한 해시값을 구하여 RADIUS 서버에 전송
그냥 id, pw를 보내면 안된다. - RADIUS 서버가 사용자 관리 데이터베이스 정보를 사용하여 Challenge의 응답에 대한 해시값을 구하여 클라이언트의 해시값과 비교
Q) 인증 Challenge (랜덤값)은 왜 필요한가?
A) id, pw만 해시화하여 전송하면 이 값이 공격자가 스니핑할 수 있음. 이후, 해당 값으로 재접속 요청을 할 수 있다.
따라서 공격자가 reply attack을 할 수 없도록 하기 위해 인증 challenge를 사용한다.
인증 challenge + id + pw 값을 해시시켜 전송하면 이전의 스니핑한 값을 재사용할 수 없도록 함
사용자가 서버를 인증
보통 서버를 인증하는 과정은 많지 않음
그렇지만, 피싱 등의 피해(DNS스푸핑) 등을 막기 위해서 필요하다
RADIUS 서버를 인증 > 클라이언트와 RADIUS간 상호 인증
AP는 현재 AP와 맞물려 있는 것들과 통신하기 위해 브로드캐스트 키를 이용한다. (사용자와 브로드캐스트 키 공유)
따라서 클라이언트는 브로드캐스트 키를 알아야함.
또한, AP는 자신의 브로드캐스트 키를 수시로 바꾸어줄 수 있다.
클라이언트가 브로드캐스트 키를 얻는 과정
- 서버→ AP : 세션키를 생성하고 전송함
- 서버→AP : 사용자 pw와 암호화하여 전송
C2 = E(세션키, 사용자 패스워드) - AP → 클라이언트: C2를 전송(RELAY)함
- AP → 클라이언트 : 세션키와 브로드캐스트 키를 암호화하여 전송
C1 = E(세션키, 브로드캐스트키) - 클라이언트 : 패스워드를 알기 때문에 C2로 복호화한다. > 세션키 획득
- 클라이언트 : 세션키를 이용하여 C1을 복호화하여 브로드캐스트 키를 얻는다.
*클라이언트와 AP가 공유하는 비밀키가 없기 때문에 클라이언트와 서버가 아는 패스워드를 비밀키로 이용하여 얻는다.
클라이언트와 AP는 세션이 성립되어있는 시간 동안 브로드캐스트 키를 사용한다.
'Hacking > Network' 카테고리의 다른 글
리버스 텔넷 (1) | 2024.10.14 |
---|---|
네트워크 보안 시스템 (2) | 2024.10.13 |
Session Hijacking | 세션 하이재킹 (2) | 2024.10.13 |
Spoofing | 스푸핑 (0) | 2024.10.13 |
Sniffing | 스니핑 (0) | 2024.10.12 |