IT한 것

palant 2차 요약 - IPinside 취약점

lovian 2023. 1. 25. 16:38

원문은 아래에서 확인 가능합니다.

데이터 보호 방법이 의미 있을 것 같아서 그부분 위주로 정리 합니다.

 

https://palant.info/2023/01/25/ipinside-koreas-mandatory-spyware/

 

IPinside: Korea’s mandatory spyware

Banking websites in South Korea can only be used with IPinside installed. This application collects lots of data about the user, and it makes that data accessible to each and every website. The protection is inadequate.

palant.info

데이터 종류

wdata

ndata

udata

 

데이터 보호방법

  • 로컬 웹 서버에 접근제어 모델이 없음
  • wdata
    • 1바이트 랜덤 데이터로 xor 연산하여 난독화됨
    • 압축 알고리즘은 찾기 쉬운 GPL 라이선스의 오픈소스(LZO compress)
    • 암호화는 공개키 암호를 사용
      • 공개키 암호는 RSA를 사용하고 320 bit 키임, 1991년에 뚫린 330비트보다 작은 키임
      • msieve라는 도구를 받아서 노트북에서 실행해보니 2시간 36분만에 개인키를 찾음
  • ndata, udata
    • AES-256 암호화만 되어 있음
    • AES 키는 하드코딩
    • CBC 모드를 사용. IV 전달 오류로 IV는 0으로 채워진 값으로 고정되어 항상 암호문 결과가 동일함
  • openssl
    • 1.0.1j 버전을 사용중 (6년전 지원이 종료된 버전)
    • local server
      • 서버가 단일 스레드로 동작 -> 일부러 연결을 끊지 않으면, 서비스 사용불가 공격이 됨 (로컬이니까 문제는 아님)
      • 입력 값 길이가 없어 buffer overflow 공격이 가능 (sprintf를 사용했음)

 

문제 수정

  • 2022년 10월 21에 KrCERT에 3개의 취약점 보고서 제출
  • 11월 14일까지 개발사에 전달했음을 확인 -> 이후 연락 못 받음
  • 개발사는 보고서는 받았으나, 1개만 받았다고 함
  • 2월에 수정본 배포 계획이라고 함, 서비스 반영은 사이트가 정해야 함