YouTube Network Study 22. Proxy의 활용 두번째, '분석'

I'm Molly·2022년 9월 5일
0

네트워크스터디

목록 보기
22/39

본 내용은 유튜브 널널한 개발자 TV 채널을 보고 정리한 것입니다.

Proxy의 활용 두번째, '분석'

웹으로 통신을 한다면 기본적으로 HTTP 통신을 한다.
하지만 HTTP는 암호화 되지 않은 평문이므로 나의 정보가 그대로 노출된다.
따라서 SSL(Secure Sockets Layer)을 적용하여 소켓-스트림 데이터에 PKI(Public Key Infrastructure) 기술을 적용시켜 암호화를 시킨 것이 HTTPS이다.
이렇게 하면 트래픽이 보이지 않아 나의 정보를 보호할 수 있다.
서버로부터 전달받는 데이터는 소켓을 통해 하위 계층으로 내려오는데, 제일 상위 계층인 유저모드 애플리케이션 레이어에서 HTTP에 SSL이 적용된다.

그런데 와이어샤크 프로그램을 통해 나와 서버 간의 통신상태를 분석하거나 모니터링 해야 할 때가 있다.
지난 시간에 알아봤듯이 와이어샤크의 구조는 TCP/IP와 Driver 사이에 필터가 들어있는데, 필터링을 하지 않고 데이터를 모두 통과시켜 센서로 쓴다.
그리고 센서를 통해 넘겨받은 정보를 분석한다.

위에서 전달받은 HTTPS가 하위 계층으로 전달되어 와이어샤크가 센서가 수집한 패킷의 데이터 부분(패킷은 헤더와 데이터 부분으로 나누어져 있다.)을 분석하려고 할 경우, 이미 암호화된 데이터를 해석하기에는 어려움이 있다.
물론 와이어샤크로 암호를 해석할 수 있는 방법이 없는 것은 아니지만, HTTPS는 데티어가 스트림 단위이고, 와이어샤크의 센서가 수집한 데이터는 '패킷' 단위이다.
서로 다른 단위의 암호화 된 데이터를 분석하기에는 너무 비효율적이다.

이러한 경우를 해결하기 위해서도 프록시 서버를 이용한다.
서버로부터의 스트림 데이터가 암호화 되어 하위 계층으로 이동하기 전에, 프록시 서버로 데이터를 전달하는 것이다.
이 때 프록시 서버의 IP 주소를 로컬 주소(자기 자신의 IP 주소)로 설정한다.
이 경우는 내가 나의 정보를 보는 것이므로 아무런 문제가 되지 않는다.
프록시 서버는 평문의 HTTP 스트림 데이터를 받은 뒤 '암호화'를 한다.
그러고 나서 프록시 서버의 소켓을 통해 암호화 된 데이터가 하위계층으로 이동하는 것이다.

  • Fiddler를 통해 소켓 통신을 스스로 분석할 수 있다.
    또 PC 모드, 모바일 모드 등의 환경으로 조작할 수도 있어 개발자들에게 유용하다고 한다.

SSL 참고링크: https://goodgid.github.io/TLS-SSL/
PKI 참고링크: https://www.ibm.com/docs/ko/ibm-mq/7.5?topic=ssfksj-7-5-0-com-ibm-mq-sec-doc-q009900--htm

profile
I'm Studying

0개의 댓글