찬이네사진관

MITM (Man in the middle) 중간자공격 본문

IT World/Issue

MITM (Man in the middle) 중간자공격

Chanz_tudio 2018. 12. 21. 13:14
반응형

지난번 포스팅에 IoT및 클라우드 공격에 중간자공격(MITM) 방법에 대해 적었었다.

이번기회에 MITM에 대해 알아보도록 하자


일단 MITM이란 관음증과 같은 해킹방법이다.

먼저 중간자 공격을 하기 전에 해커는 통신에 끼어들어야 한다.

먼저 A, B, H(Hacker)의 PC가 있다고 해보자

A와 B는 서로 정상적인 통신을 하며 서로 대화를 하고 있는데 이때 H가 몰래 둘 사이를 엿듣기 시작한다.

이때 네트워크 특성상 누군가 봐도 이상할 것 없으니 둘은 서로의 암호키를 이용해 서로서로 비밀의 이야기를 하려고한다. 

그런데 H가 이 사실을 알고 A->B로 암호키를 요구할때 같이 난입해 B에게 A인척하고 암호키를 요구한다. 순진한 B는 H가 A인줄알고 암호키(b)를 H에게 보낸다. 또한 H는 거기서 그치지 않고 A에게도 B인척하고 자기의 암호키(h)를 A에게 보낸다 .

그 결과 원래 A ------ B의 통신 구조가 아닌 A ----- H ------B의 통신 구조를 가지게 된다

불쌍한 A는 h암호키를 이용해 H가 B인줄 알고 H에게 비밀의 말을 전한다. H는 h공개키를 통해 비밀의 말을 해독하고 완전 범죄를 꿈꾸며 B에게 b암호키를 통해 B에게 비밀의 말을 다시 전해준다. A와 B 모두 자기가 원하는 말을 받았기 때문에 둘은 서로에게 비밀 상태로 말을 전했다고 생각하겠지만 H도 알고 있는 상황인거다. 


만약 이를 통해 기밀사항(패스워드) 같은 것을 전하면 어떨까? A와 B는 암호문을 써서 보냈으니 예를들어 1234의 패스워드가 abcd로 갔으니 다들 1234를 모르고 abcd라고 알고 있을 것이고 B만 1234라고 안다고 생각할 것이다. 하지만 H는 A에게 자기가 준 암호키로 만들었으니 알것이고 B는 H가 만든 암호문을 A가 만들었다고 굳건히 믿으며 둘은 서로서로 비밀을 알려줬다고 행복해 하며 H는 유유히 나갈 것이다.


그럼 이를 저번 포스팅인 IoT에 적용하면 어떨까 IoT로 cctv를 설치할 때 우리는 기기에 접속하기 위해 암호를 입력해야한다. 암호 값은 기기에서 해시 되기 전 누군가 훔쳐보지 못하게 암호화 되어 암호문으로 보내야하는데 이때 MITM으로 기기와 사용자 사이에 들어간다면 기기가 보내는 집안 전송 정보를 해커도 볼 수 있을 것이다 (cctv는 집을 지키는 수단이 아니라 파노라마 액티비티가 될것이다.)


우리는 어떻게 그럼 걸린 것을 알 수 있을까?

네트워크를 통해 정보를 보낼때는 인증방식은 4계층에서 이루어진다. 즉 패킷에 pdu를 붙일 때 여러가지 압축및 암호화가 이루어 지는데 그 뒤로 서버 ip주소 맥주소등을 통해 계층간의 이동을 하며 보내진다. 이때 와이어샤크 같은 프로그램을 통해 패킷을 분석하게 되면 수신자 혹은 송신자의 ip주소를 확인할 수 있는데 이때 트래픽 정보가 원하는 정보와 같은지 확인해 볼 수 있다.


물론 취약점만 존재하고 해결책이 없는 것은 아니다. 여러가지가 존재하는데 아래와 같다.

1. 공개키 인증 방법 : A와 B간에 미리 어플리케이션(공인인증서)를 이용한 서로의 인증방법을 미리 만들어 둔다. 이 방식은 서로 암호 키를 주고 받기전 인증이 되어야 통신을 시작한다. 이때 해커는 인증서에 사용되는 공개키에 대한 암호키를 알지 못하기 때문에 중간에서 낚아채도 B의 암호키가 없다면 아무것도 알 수 없다. 그러기에 중간에서 정보를 낚아채면 낚아 채진것을 인지하고 암호키 전송을 안하기에 예방할 수 있다. 

2. 시간 점검 : TCP/IP 통신과 같이 서로 신뢰성을 위해 통신하는 경우 잘받았다고 Reply를 해주어야하는데 이때 원래 거리상 5초면 왔다갔다 할 수 있는 거리지만 MITM이 들어오면 5초만에 절대 불가능하다 (H컴퓨터에서 해독을하고 다시 암호화하여 보내기때문에) 그러면 5초가 걸릴걸 예상해야하는데 20초가 걸린다면 의심할수 있고 모든 키를 드랍할 수 있다.


opinion : 

반응형
Comments