본문 바로가기

IT/Programming

2020년 대표적인 모바일앱 보안이슈 사례 분석

1. 코로나19 자가격리자 앱 이슈

2020년 7월 타임즈에서 보도되었습니다.

프레데릭 렉텐슈타인 외국인 엔지니어가 한국에 입국하며 2주간 자가격리하게되면서 앱 사용중 리버스 엔지니어링으로 취약점 발견하여 행정안전부, kisa, krcert등에 제보했으나 조취안함 그래서 취약점 무시될까 우려되어 미국 타임즈에 제보하게 되었다고 합니다.

 1-1.자가격리자 앱 취약점

  1-1-1. 암호화 통신 채널 https 미사용 취약점: 

   - http 통신은 암호화되지 않은 방법으로 데이터를 전송하여 악의적인 사용자의 스티핑(Sniffing)공격에 App과 Server가 주고받는 모든 패킷 데이터들이 노출되어 보안에 취약합니다.

   - 코로나19 자가격리자 앱은 매우 민감한 정보(이름, 성별, 생일, 국적, 주소, 여권번호, 전화번호, 실시간 GPS위치, 의료 증상 등)가 포함된 중요정보를 http통신으로 server에 전송했습니다.

   - 대응방안 : APP과 Server가 주고받는 데이터 통신구간에 SSL(Secure Socket Layer)/TLS(Transport Layer Security)통신을 적용하거나 패킷 암호화 솔루션을 도입하여 중요정보가 스티핑 공격에 취약하지 않도록 보호하는 방법을 권고합니다.

  1-1-2. 소스코드에 암호화 키 노출 취약점: 

    - 암호화된 정보의 안전성은 암호 알고리즘뿐만 아니라 암호화 키 관리에도 연관

    - 암호화 키에 대한 관리 소홀로 암호화 키가 유출된다면 암호화를 통한 정보보호는 의미가 없음

    - 코로나19 자가격리자 앱의 소스코드에서 암호화 키가 하드코딩으로 노출되어있어 악의적인 사용자가 암호화된 데이터를 손쉽게 복호화하여 암호화 기능을 무력화 할 수 있었습니다.

    - 대응방안 : 대칭키(비밀키)는 인가되지 않은 제 3자에게 노출되어서는 안되므로 소스코드에 암호화 관련 키를 하드코딩으로 구현하지 않도록 조치해야합니다. 또한 각각의 단말기마다 고유희 대칭키를 가지고 암/복호화를 수행하여 임의의 단말기에서 대칭키가 노출되어도 해당 손실을 최소화하는 작업을 권고합니다.

  1-1-3. 취약한 인증 절차(파라미터 변조) 취약점 : 

    - 서버에 전송되는 데이터(URL, Header, 쿠키, 쿼리문, json 등)의 파라미터를 조작하여 정상적으로 접근 권한이 없는 정보를 조회/변경할 수 있는 취약점

    - 대응방안 : 사용자가 변경할 수 있는 데이터의 노출을 최소화하며 제 3자가 획득하기 어려운 정보를 활용한 사용자 인증 과정 구현이 필요하고 정상적인 사용자 인증 후에도 타 사용자의 정보 및 권한에 접근할 수 없도록 접근 권한 제한을 두어야 합니다. 

    - 인증수구현은 모두 서버에서 구현하며 모든 입력값은 검증하도록 구현해야합니다.

 

 

2. 타 사용자 인증 우회(파라미터 변조)

- 서버에 전송되는 데이터의 파라미터를 조작하여 정상적으로 접근 권한이 없는 정보를 조회 및 변경할 수 있는 취약점입니다.

- 해당 앱은 사용자가 인증 후 제 3자가 쉽게 추측할 수 있도록 인증 값을 부여하여 개인정보 탈취 위험이 생겼습니다.