SSH 암호화통신 및 MITM(Man in the middle) 공격

junghan·2022년 12월 2일
0

보안

목록 보기
2/2

SSH 암호화통신(secure shell)

앞서 세션 하이재킹을 방어하기 위해 보안대책으로 SSH(Secure shell)암호화 통신 잠깐 소개한 적이 있습니다.

SSH란?

Secure Shell Protocol의 약자로, 보안이 강화된 네트워크 프로토콜 입니다. 기존 tcp연결의 보안대책 중 하나로 컴퓨터와 컴퓨터가 인터넷 같은 Public Network를 통해서 상호 간 통신을 할 때 보안적으로 안전하게 통신할 수 있도록 도와주는 프로토콜입니다

SSH 암호화 통신과정

클라이언트가 SSH접속을 하기위해 상호 간의 인증을 수행합 니다.

  1. 클라이언트는 통신을 위해 서버로 공개키를 요청하고, 서버는 자신의 SSH접속용 공개키를 클라이언트로 전송합니다.

  2. 응답을 받은 클라이언트는 서버의 공개키, 클라이언트의 사설키, 데이터를 암호화하여 서버로 전송합니다.

  3. 암호화된 데이터를 복호화할 수 있도록 클라이언트는 서버로 본인의 공개키를 다시 전송합니다.



MITM(Man in the middle)

MITM 공격이란?

두 개체 간 통신에 끼어서 데이터 끼워넣기/빼기/복호화 등 데이터 흐름에 영향을 미치는 공격을 말합니다.
개념상 세션 하이재킹과 비슷한 형태의 네트워크 공격이고,
세션 하이재킹이 됐다는 가정하에 추가적인 공격(패킷 내용을 변경)을 하는 것을 의미합니다.

ARP 리다이렉트, ICMP 리다이렉트, ARP 스푸핑도
엄밀히 말하면 MITM 공격이지만 전달되는 패킷의 MAC이나 IP주소는 바꾸지만 MITM처럼 패킷 내용을 바꾸지는 않습니다.

SSH MITM 공격

스푸핑이 가능한 환경(서버와 클라리언트의 모든 통신에 접근가능한 상태)일 때, MITM공격이 가능합니다.

세션 하이재킹과 마찬가지로 클라이언트와 서버의 중간에서 요청과 응답을 참조하여 변조된 SSH공개키와 데이터를 생성하여 의도되지 않은 통신을 유발합니다.

SSH 보안대책

ssh는 기존 tcp통신의 취약점을 보완하기 위해 나왔으나 아직도 위와 같은 문제가 있습니다.

위와 같은 MITM공격을 막기 위해서는 공격자가 만든 SSH 공개키가 서버가 보낸 SSH공개키가 맞는지 검증하는 과정이 추가로 요구됩니다.

이것을 해결하기 위해 사용하는 것이 바로 공인인증서 시스템인 CA(Certificate Authority)를 이용한SSL(Secure Socket Layer)통신입니다.

SSL 2.0(1996년) 이상을 사용하면 MITM 공격을 막을 수 있고, SSL의 경우에는 인증서를 잘 확인해야합니다.



profile
42seoul, blockchain, web 3.0

0개의 댓글