2017.06.14

모바일 앱 개발자 주의 사항 '백엔드 보안 확보'

Fahmida Y. Rashid | CSO
개발자는 애플리케이션 코드에 보안을 적용하고 애플리케이션에서 데이터를 처리하는 방법을 보호해야 하지만, 이른바 하스피털가운(HospitalGown) 보안 문제가 보여주는 것처럼 백엔드 서버와 데이터 저장소가 어떻게 구성됐는지도 알아야 한다.



애플리케이션 보안은 단순히 개발자의 문제가 아니다. IT인력과 보안팀도 인프라 및 구축 및 보안 제어 이행에서 실행할 역할이 있다. IT관리자가 앱의 백엔드 서버를 위한 보안 기본 사항을 잊으면 개발자의 훌륭한 보안 결정을 갉아먹게 된다.

모바일 보안기업 앱소러티(Appthority)의 연구원들은 최근 (기업 IT에서 제공하고 관리하는 모바일 기기뿐 아니라 BYOD 시나리오의 개인용 장치를 포함하여) 기업 기기에 설치된 앱을 분석하고 백엔드 서버에 보안 통제가 없어서 데이터가 노출되고 있는 1,000개 이상의 앱을 발견했다. 수집된 데이터를 마이닝하고 분석하기 위해 사용자 데이터와 분석 툴을 저장하는 데이터베이스를 관리하는 서버는 방화벽이 없었고 인증이 필요 없었으며 인터넷에서 공개적으로 접근할 수 있었다.

앱소러티의 보안 연구 책임자 세스 하디에 따르면, 앱소러티는 1,000개의 앱이 2만 1,000개 이상의 개방된 엘라스틱서치(Elasticsearch) 서버에 연결돼 있었으며 약 43TB의 데이터가 노출됐다.

노출된 데이터에는 비밀번호, 위치, 이동 및 결제 세부사항, 이메일과 전화번호 등의 기업 프로필 데이터, 유통사 고객 데이터 등의 PII(Personally Identifiable Information)가 포함되어 있었다. 연구원들은 분석 보고서에서 이러한 유형의 정보는 사기 및 크리덴셜 기반 공격에 사용하거나 피싱 등의 2차 공격에 사용할 수 있다. 데이터는 여전히 구멍이 난 서버에 있었고 ‘승인되지 않은 당사자들이 복사하거나 다운로드할 위험에’ 여전히 노출되어 있었기 때문에 사용자가 장치에서 앱을 삭제한다 하더라도 데이터 노출은 끝났지 않았다고 밝혔다. 승인되지 않은 당사자들은 ‘많은 경우에’ 데이터에 접근했고 랜섬 공격을 개시했다.

엘라스틱서치는 여러 새로운 비 관계형 데이터베이스와 마찬가지로 보안과 접근 제어가 내장되어 있지 않고 인증 플러그인과 안전한 API를 통해 보안을 외부적으로 이행하는 것이 최선이다. 인터넷을 스캔하거나 다른 수단을 통해 서버 IP주소를 발견하여 엘라스틱서치 서버를 발견하는 사람은 보안 기능이 켜져 있지 않은 경우 모든 데이터에 접근할 수 있다. 앱소러티는 엘라스틱서치가 대규모 기업 데이터 세트에 널리 사용되고 있기 때문에 여기에 집중하긴 했지만 레디스(Redis), 몽고DB(MongoDB), 마이SQL(MySQL), 카우치DB(CouchDB), 카우치베이스(CouchBase) 등의 여러 백엔드 플랫폼도 같은 문제를 안고 있었다.

개발자는 애플리케이션 코드에 보안을 직접 적용하고 앱이 데이터를 처리하는 방식을 보호해야 하지만 앱소러티의 연구를 보면 백엔드 서버와 데이터 저장을 구성하는 방식에 관해서도 알아야 한다. 이런 시스템의 보안 우수 사례는 문서로 잘 정리돼 있지만 누군가는 이런 제어 방식을 이행하여 데이터가 보호되고 있는지 확인할 필요가 있다.

하디는 “애플리케이션에 사용자 데이터가 저장되면 기기 애플리케이션 보안만으로는 안심할 수 없다”고 언급했다.

앱소러티 이 문제는 ‘하스피털가운(HospitalGown)’이라고 불렀다. 왜냐하면 병원 가운처럼 앞부분은 막혀 있지만 애플리케이션 인프라 내부의 문제로 인해 뒤는 막혀 있지 않기 때문이다. 하스피털가운은 모바일 기기에 설치할 경우 데이터 유출로 이어질 수 있는 일종의 무기화된 앱이나 앱 코드의 결함 등 모바일 운영체제의 특정 취약성이 아니다. 대신에 이 문제는 앱의 백엔드 서버가 방화벽을 이용해 안전하게 구성되지 않거나 인증된 사용자로만 접근을 제한하지 않는 경우에 존재한다. 안드로이드와 iOS 앱 모두 위험하다.

앱소러티는 하스피털가운의 보편적인 예를 보여주기 위해 두 가지 앱을 예로 들었다. 직원들이 기업 네트워크와 애플리케이션에 안전하게 접근할 수 있도록 기업들이 사용하는 보안 접근 앱인 펄스 워크스페이스(Pulse Workspace)는 안전한 API를 이용해 엘라스틱서치 서버로 전송되는 데이터를 보호했다. 하지만 엘라스틱서치 데이터 저장소에는 방화벽과 인증이 없었다. 연구원들은 고객 이름과 연락처 정보, VPN PIN 재설정 토큰과 인증서, 암호 길이, IMEEI, OS버전, 통신사 데이터 등의 장치 정보를 확인할 수 있었다. 펄스 시큐어(Pulse Secure)는 앱소러티가 알려준 후 해당 문제를 해결했다.

하디는 앱소러티가 분석한 앱의 대다수가 펄스 워크스페이스와 마찬가지로 앱이 데이터를 안전하게 처리했지만 서버는 개방된 상태였다고 말했다.

농기계 제조사 작토(Jacto)는 장비에 관한 운영 데이터를 모니터링하고 다양한 장치 파라미터를 관리하기 위해 사용하는 작토 스마트 셀렉터(Jacto Smart Selector), 오트미스넷(OtmisNET), 오트미스넷-호몰로게이션(OtmiNET-Homologation) 등 3가지 기업용 앱이 있었다. 데이터가 백엔드 서버로 안전하게 전송되지 않아 공격자들은 서버 IP주소를 포함하여 전송되는 모든 것을 볼 수 있었다. 연구원들은 고객 및 파트너 정보, PII, 연료 소비량 등 각 장비와 관련된 운영 데이터를 확인할 수 있을 뿐 아니라 ‘트랙터를 실시간으로 추적’할 수도 있었다고 해당 보고서를 통해 밝혔다. 또한 앱소러티는 작토의 데이터베이스에서 랜섬 메모를 발견했다.

올해 초, 공격자들은 데이터베이스의 콘텐츠를 수천 개의 보안이 부실한 몽고DB와 엘라스틱서치 서버에 버렸다. 당시 래피드7은 프로젝트 소나(Project Sonar) 데이터를 살펴 보았고 노출된 5만 6,000개의 몽고DB서버, 1만 8,000개의 엘라스틱서치 서버, 4,500개의 카우치DB서버를 발견했다. 그 중 몽고DB 시스템의 절반, 엘라스틱서치 시스템의 58%, 카우치DB 시스템의 10%에 대해 랜섬 공격이 있었다. 앱소러티의 연구를 보면 이런 서버들이 특정 애플리케이션에 묶인 경우 기업이 데이터 유출 위험에 처할 수 있음을 알 수 있다.

앱소러티는 이 보고서에서 “하스피털가운 문제를 해결하는 것은 기업이 유출된 데이터를 이용한 손쉬운 해킹 또는 광범위한 유출 공격의 손쉬운 표적이 되지 않도록 하는 중요한 보안 조치다”고 전했다.

하스피털가운은 무료 위조 앱에만 국한되어 있다고 생각할 수 있지만 영향을 받은 앱들은 농업 운영, 콘텐츠 관리, 데이트, 교육, 기업 모바일 보안 및 접근 관리, 게임, 뉴스, 생산성, 여행 등 다양한 범주에 포진되어 있었다. 앱소러티는 기업 및 개인용 앱 중 “탄탄한 보안 활동으로 명망 있는 벤더들이 개발한 앱”에서도 문제를 발견했다. 이를 통해 누구든 실수를 범할 수 있으며 결과가 꽤 심각할 수 있음을 알 수 있다. ciokr@idg.co.kr



2017.06.14

모바일 앱 개발자 주의 사항 '백엔드 보안 확보'

Fahmida Y. Rashid | CSO
개발자는 애플리케이션 코드에 보안을 적용하고 애플리케이션에서 데이터를 처리하는 방법을 보호해야 하지만, 이른바 하스피털가운(HospitalGown) 보안 문제가 보여주는 것처럼 백엔드 서버와 데이터 저장소가 어떻게 구성됐는지도 알아야 한다.



애플리케이션 보안은 단순히 개발자의 문제가 아니다. IT인력과 보안팀도 인프라 및 구축 및 보안 제어 이행에서 실행할 역할이 있다. IT관리자가 앱의 백엔드 서버를 위한 보안 기본 사항을 잊으면 개발자의 훌륭한 보안 결정을 갉아먹게 된다.

모바일 보안기업 앱소러티(Appthority)의 연구원들은 최근 (기업 IT에서 제공하고 관리하는 모바일 기기뿐 아니라 BYOD 시나리오의 개인용 장치를 포함하여) 기업 기기에 설치된 앱을 분석하고 백엔드 서버에 보안 통제가 없어서 데이터가 노출되고 있는 1,000개 이상의 앱을 발견했다. 수집된 데이터를 마이닝하고 분석하기 위해 사용자 데이터와 분석 툴을 저장하는 데이터베이스를 관리하는 서버는 방화벽이 없었고 인증이 필요 없었으며 인터넷에서 공개적으로 접근할 수 있었다.

앱소러티의 보안 연구 책임자 세스 하디에 따르면, 앱소러티는 1,000개의 앱이 2만 1,000개 이상의 개방된 엘라스틱서치(Elasticsearch) 서버에 연결돼 있었으며 약 43TB의 데이터가 노출됐다.

노출된 데이터에는 비밀번호, 위치, 이동 및 결제 세부사항, 이메일과 전화번호 등의 기업 프로필 데이터, 유통사 고객 데이터 등의 PII(Personally Identifiable Information)가 포함되어 있었다. 연구원들은 분석 보고서에서 이러한 유형의 정보는 사기 및 크리덴셜 기반 공격에 사용하거나 피싱 등의 2차 공격에 사용할 수 있다. 데이터는 여전히 구멍이 난 서버에 있었고 ‘승인되지 않은 당사자들이 복사하거나 다운로드할 위험에’ 여전히 노출되어 있었기 때문에 사용자가 장치에서 앱을 삭제한다 하더라도 데이터 노출은 끝났지 않았다고 밝혔다. 승인되지 않은 당사자들은 ‘많은 경우에’ 데이터에 접근했고 랜섬 공격을 개시했다.

엘라스틱서치는 여러 새로운 비 관계형 데이터베이스와 마찬가지로 보안과 접근 제어가 내장되어 있지 않고 인증 플러그인과 안전한 API를 통해 보안을 외부적으로 이행하는 것이 최선이다. 인터넷을 스캔하거나 다른 수단을 통해 서버 IP주소를 발견하여 엘라스틱서치 서버를 발견하는 사람은 보안 기능이 켜져 있지 않은 경우 모든 데이터에 접근할 수 있다. 앱소러티는 엘라스틱서치가 대규모 기업 데이터 세트에 널리 사용되고 있기 때문에 여기에 집중하긴 했지만 레디스(Redis), 몽고DB(MongoDB), 마이SQL(MySQL), 카우치DB(CouchDB), 카우치베이스(CouchBase) 등의 여러 백엔드 플랫폼도 같은 문제를 안고 있었다.

개발자는 애플리케이션 코드에 보안을 직접 적용하고 앱이 데이터를 처리하는 방식을 보호해야 하지만 앱소러티의 연구를 보면 백엔드 서버와 데이터 저장을 구성하는 방식에 관해서도 알아야 한다. 이런 시스템의 보안 우수 사례는 문서로 잘 정리돼 있지만 누군가는 이런 제어 방식을 이행하여 데이터가 보호되고 있는지 확인할 필요가 있다.

하디는 “애플리케이션에 사용자 데이터가 저장되면 기기 애플리케이션 보안만으로는 안심할 수 없다”고 언급했다.

앱소러티 이 문제는 ‘하스피털가운(HospitalGown)’이라고 불렀다. 왜냐하면 병원 가운처럼 앞부분은 막혀 있지만 애플리케이션 인프라 내부의 문제로 인해 뒤는 막혀 있지 않기 때문이다. 하스피털가운은 모바일 기기에 설치할 경우 데이터 유출로 이어질 수 있는 일종의 무기화된 앱이나 앱 코드의 결함 등 모바일 운영체제의 특정 취약성이 아니다. 대신에 이 문제는 앱의 백엔드 서버가 방화벽을 이용해 안전하게 구성되지 않거나 인증된 사용자로만 접근을 제한하지 않는 경우에 존재한다. 안드로이드와 iOS 앱 모두 위험하다.

앱소러티는 하스피털가운의 보편적인 예를 보여주기 위해 두 가지 앱을 예로 들었다. 직원들이 기업 네트워크와 애플리케이션에 안전하게 접근할 수 있도록 기업들이 사용하는 보안 접근 앱인 펄스 워크스페이스(Pulse Workspace)는 안전한 API를 이용해 엘라스틱서치 서버로 전송되는 데이터를 보호했다. 하지만 엘라스틱서치 데이터 저장소에는 방화벽과 인증이 없었다. 연구원들은 고객 이름과 연락처 정보, VPN PIN 재설정 토큰과 인증서, 암호 길이, IMEEI, OS버전, 통신사 데이터 등의 장치 정보를 확인할 수 있었다. 펄스 시큐어(Pulse Secure)는 앱소러티가 알려준 후 해당 문제를 해결했다.

하디는 앱소러티가 분석한 앱의 대다수가 펄스 워크스페이스와 마찬가지로 앱이 데이터를 안전하게 처리했지만 서버는 개방된 상태였다고 말했다.

농기계 제조사 작토(Jacto)는 장비에 관한 운영 데이터를 모니터링하고 다양한 장치 파라미터를 관리하기 위해 사용하는 작토 스마트 셀렉터(Jacto Smart Selector), 오트미스넷(OtmisNET), 오트미스넷-호몰로게이션(OtmiNET-Homologation) 등 3가지 기업용 앱이 있었다. 데이터가 백엔드 서버로 안전하게 전송되지 않아 공격자들은 서버 IP주소를 포함하여 전송되는 모든 것을 볼 수 있었다. 연구원들은 고객 및 파트너 정보, PII, 연료 소비량 등 각 장비와 관련된 운영 데이터를 확인할 수 있을 뿐 아니라 ‘트랙터를 실시간으로 추적’할 수도 있었다고 해당 보고서를 통해 밝혔다. 또한 앱소러티는 작토의 데이터베이스에서 랜섬 메모를 발견했다.

올해 초, 공격자들은 데이터베이스의 콘텐츠를 수천 개의 보안이 부실한 몽고DB와 엘라스틱서치 서버에 버렸다. 당시 래피드7은 프로젝트 소나(Project Sonar) 데이터를 살펴 보았고 노출된 5만 6,000개의 몽고DB서버, 1만 8,000개의 엘라스틱서치 서버, 4,500개의 카우치DB서버를 발견했다. 그 중 몽고DB 시스템의 절반, 엘라스틱서치 시스템의 58%, 카우치DB 시스템의 10%에 대해 랜섬 공격이 있었다. 앱소러티의 연구를 보면 이런 서버들이 특정 애플리케이션에 묶인 경우 기업이 데이터 유출 위험에 처할 수 있음을 알 수 있다.

앱소러티는 이 보고서에서 “하스피털가운 문제를 해결하는 것은 기업이 유출된 데이터를 이용한 손쉬운 해킹 또는 광범위한 유출 공격의 손쉬운 표적이 되지 않도록 하는 중요한 보안 조치다”고 전했다.

하스피털가운은 무료 위조 앱에만 국한되어 있다고 생각할 수 있지만 영향을 받은 앱들은 농업 운영, 콘텐츠 관리, 데이트, 교육, 기업 모바일 보안 및 접근 관리, 게임, 뉴스, 생산성, 여행 등 다양한 범주에 포진되어 있었다. 앱소러티는 기업 및 개인용 앱 중 “탄탄한 보안 활동으로 명망 있는 벤더들이 개발한 앱”에서도 문제를 발견했다. 이를 통해 누구든 실수를 범할 수 있으며 결과가 꽤 심각할 수 있음을 알 수 있다. ciokr@idg.co.kr

X