세션 하이제킹이란 세션을 가로챈다는 의미이다.
TCP연결에서 시퀀스 번호를 조작해서 하이제킹 한다.
Non-Blind Attack
공격 타켓이 누군지 알고, 시퀀스 넘버를 조작할 수 있다.
Blind Attack
공격 타켓이나, 시퀀스 넘버를 알아낼 수 없다.
TCP연결에서 sequence number
Client_My_Seq : 클라이언트가 관리하는 시퀀스 넘버
Client_Server_Seq : 클라이언트가 아는 서버 시퀀스 넘버
Server_My_Seq : 서버가 관리하는 시퀀스 넘버
Server_Client_Seq : 서버가 아는 클라이언트 시퀀스 넘버
아래는 일반적인 TCP 연결 과정이다.
새로운 연결을 이용해서 시퀀스 번호를 다음과 같이 만들어 줄 것이다.
Client_My_Seq = Server_Client_Seq created by the attacker
Client_Server_Seq = Server_My_Seq created by the attacker
Server_Client_Seq = Client_My_Seq created by attacker
Server_My_Seq = Client_Server_Seq created by the attacker
아래와 같이 RST패킷을 전송해 재연결을 통해 시퀀스 넘버를 조작한다.
세션 하이젝킹을 막는 법
1. ssh 사용해서 통신
2. 비동기 상태를 감지하기 (주기적으로 서버와 시퀀스 번호를 확인하여 세션이 비동기 상태인지 감지한다.)
3. 예상치 못한 연결 재설정이 발생한다면 의심
4. 공격자가 중간에 끼어들기 때문에 패킷 손실이 증가하거나, 재전송되는 경우가 많다. 이를 탐지한다.
'보안' 카테고리의 다른 글
[Wireless Security] 무선 보안 (IEEE 802.11 Wireless LAN) (0) | 2024.12.16 |
---|---|
Firewall (0) | 2024.12.13 |
[IDS] 침입 탐시 시스템 (0) | 2024.12.09 |
[이메일 보안] PGP (0) | 2024.12.01 |
RSA 공개키 알고리즘 (0) | 2024.07.01 |