시큐어코딩

https 취약점

메오백 2024. 12. 1.

https를 사용하면 안전하다고 생각해서 비밀번호 등을 암호화 하지 않는 경우가 있다. 하지만 https를 사용하더라도 중간자 공격에 의해 비밀번호가 탈취될 수 있다. 

https의 동작 

대칭 키와 비대칭 키

  • 대칭 키 방식은 하나의 대칭 키로 암호화, 복호화를 하는 것이다.
  • 최초 접근 시에 서버가 클라이언트로 대칭 키를 전달해 줘야 하는데 이 때 탈취당할 수 있다.
  • 비대칭 키 방식은 서버가 공개 키/개인 키를 갖고 있다가 클라이언트 요청 시 공개키를 주는 방식이다.
  • 대칭 키 방식에 비해 성능이 저하된다. 

ssl을 활용한 https

보안성과 성능 두마리 토끼를 잡기 위해 실제로는 두 방식을 섞어서 사용한다. 

  1. 서버(사이트)는 서버의 공개 키와 사이트 정보를 인증기관에 전달
  2. 인증기관은 (서버 공개키 + 사이트 정보)를 인증기관 개인 키로 서명 : 사이트 인증서
  3. 브라우저는 인증기관들로부터 인증기관의 공개 키를 미리 제공받음
  4. 브라우저가 서버에 접근하면 서버는 서버의 인증서를 클라이언트에게 전달
  5. 클라이언트는 갖고있는 인증기관의 공개 키로 서버 인증서를 복호화해 서버 공개 키를 얻음
  6. 클라이언트는 클라이언트의 대칭 키를 서버의 공개 키로 암호화해서 서버에게 보냄
  7. 서버는 이것을 서버의 개인 키로 복호화해서 대칭 키를 얻는다. 이후 대칭 키 방식을 사용함

위 과정의 5번이 부실하게 구현되었다면 https를 사용하더라도 중간자공격에 의해 정보를 탈취당할 수 있다. 

https 취약점

ssl을 우회하기 위해 중간자 공격을 할 수 있다. 공격 도구로는 sslstrip, snnopyspy 등이 쓰인다. 

공격 기법 

  • 스니핑
    • 네트워크를 통해 오고가는 패킷을 제 3자가 가로채서 보는 것 
    • 스니핑을 위해 통신 패킷이 공격자를 거쳐 가도록 해야함. 이를 위해 ARP 스푸핑 사용 
  • 스푸핑 
    • 공격자가 자신의 신분을 속이는 것 
    • arp 스푸핑, ip 스푸핑, 쿠키 스푸핑, dns 스푸핑 등 
    • arp 스푸핑을 과정
      • 공격 대상의 arp 테이블 변조 
      • 공격 대상의 네트워크 패킷이 공격자를 거쳐감 
      • 공격자는 패킷에 대해 정상 처리해줌 
      • 공격 대상은 의심 없이 네트워크 사용 
    • arp 테이블 : ip주소와 mac 주소가 매핑된 테이블 

공격 시나리오 

  • 스마트폰 활용 출석 앱 
    • 공격자가 ssl 프록시 서버에 스마트폰의 ip 주소와 무선 ap의 게이트웨이 주소를 입력해 arp 스푸핑 실행
    • 스마트폰의 모든 통신패킷이 ssl 프록시 서버 경유, 공격자가 사용자의 통신패킷을 볼 수 있게 된다
    • ssl 프록시는 가짜 인증서를 만들어 ssl  통신을 중개함. 클라이언트에 ssl 패킷을 보내고 서버한테는 클라이언트인 척 통신함
    • 사용자 스마트폰이 ssl 인증서를 검증한다면 공격을 찾아낼 수 있음. 하지만 ssl 인증서를 검증하지 않고 ssl 프로토콜을 사용하기만 한다면 중간자 공격에 성공한다. 
  • 인증토큰 노출 및 변조사례 
    • 인증토큰 : 주로 모바일 앱에서 자동 로그인을 위해 사용하며 사용자 정보가 내장되어 있음 
    • 클라이언트가 https 통신시 서버의 인증서를 검증하지 않으면 중간자 공격으로 인증토큰을 도청 및 변조할 수 있다. 

공격 시나리오에서 확인할 수 있는 것처럼 클라이언트가 인증서를 제대로 검증하지 않으면 중간자공격에 의해 비밀번호 등이 평문으로 노출될 수 있다. 

 

따라서 https 통신을 사용한다고 하더라도, 중요 정보는 암호화하도록 하자. 

 

출처

 

HTTPS 의 동작원리

유저가 어떤 웹사이트에 보내는 정보를 다른 누군가 훔쳐보지 못하도록 하기 위함ex)HTTP로 만들어진 네이버에 로그인 시 아이디와 비밀번호를 네이버의 서버로 보낸다고 했을때입력한 텍스트

velog.io

  • 취약한 HTTPS 인증 시스템에 대한 SSL 프록시 중간자 공격(지우중, 이경문, 이병천), 중부대학교 정보보호학과

댓글