게시일: 2020. 9. 9 오전 7:18:43
모바일 애플리케이션의 암호화 코드 실태 분석해주는 무료
도구 개발돼
[이미지 = utoimage]
여기서 보안 전문가들이란 컬럼비아대학에 소속된 연구진들로, 최근 크라이로거(CRYLOGGER)라는 안드로이드 애플리케이션 분석 도구를 만들었다. 특히 암호화 코드(cryptographic code)가 불안전하게 사용되는 부분을 잡아내는 데 특화되어 있다고 한다. 크라이로거는 26개의 암호화 관련 규칙을 기준으로 애플리케이션들을 점검한다. 깨진 해시 함수, 불안전한 비밀번호, 비밀번호 재사용, HTTP URL 연결 등이 이 규칙에 포함되어 있다.
이 연구 및 도구 개발에 참여한 사람은 루카 피콜보니(Luca Piccolboni), 기우세페 디 구글리엘모(Giuseppe Di Guglielmo), 루카 칼로니(Luca P. Carloni), 심하 세투마다반(Simha Sethumadhavan)이라고 한다. 이들은 구글 플레이 스토어에서 가장 인기가 높은 앱 1780개를 조사했고, 306개의 앱에서 최소 1가지 이상의 암호화 코드 규칙을 어기고 있음을 발견했다. 한 앱에서 18가지 기본 규칙이 지켜지지 않고 있는 경우도 있었다.
아무리 인기가 높고 공신력 있는 앱이라고 하더라도 기본적인 암호화 코드 규칙을 어기기 쉽다는 게 이번 연구가 증명하는 바라고 연구원들은 설명한다. “저희가 사용한 규칙들은 암호화 전문가들이 흔히 설정하는 것들로, 애플리케이션의 안전을 위해 가장 기본적으로 필요한 것입니다. 다만 앱 개발자들이라고 해서 암호화에 다 정통한 것은 아니니 기본적인 실수는 할 수 있습니다. 그 부분을 돕기 위해 만들어진 것이 크라이로거이기도 하고요.”
크라이로거로 1780개의 앱을 실험하는 데 걸린 시간은 약 10일이었다. 실험은 안드로이드 9.0.0r36 버전에 해당하는 에뮬레이터로 진행했다. 모바일 앱에서 가장 많이 어겨지는 암호화 코드 규칙은 1) 불안전한 PRNG 사용하지 않기와 2) 깨진 해시 함수 사용하지 않기, 3) CBC 모드 사용하지 않기였다.
컬럼비아대학의 연구원들은 취약점이 나타난 306개 앱 개발사에 전부 연락을 취했다. 하지만 첫 번째 연락 때 답장을 보내온 건 18개 개발사 뿐이었다. 그나마도 의미 있는 답변을 보낸 건 8개였다. 그 외 안드로이드 라이브러리 개발사 여섯 군데에도 연락을 보냈는데 답이 온 건 두 곳 뿐이었다.
크라이로거는 오픈소스인 동적 분석 툴인 크립토가드(CryptoGuard)와 호환성이 높은 또 다른 오픈소스 도구로서 개발됐다. 크립토가드는 여기(https://github.com/CryptoGuardOSS/cryptoguard)서, 크라이로거는 여기(https://github.com/lucapiccolboni/crylogger)서 열람 및 다운로드가 가능하다.
연구자들은 보고서를 통해 “이 도구는 플레이 스토어를 운영하는 구글이나, 애플리케이션을 허술하게 개발하는 개발자들을 비판하기 위해 만들어진 것이 아니”라는 것을 거듭해서 강조했다. 그러면서 “암호화에 대해 잘 모르는 개발자들이 안전하게 앱을 개발하도록 돕기 위한 것이 크라이로거”라고 설명했다.
3줄 요약
1. 컬럼비아대학 연구원들, 크라이로거라는 암호화 코드 점검 도구 만듦.
2. 이 도구로 플레이 스토어 점검했더니 기본 암호화 코드 규칙 안 지켜진 앱 300여개 발견됨.
3. 모바일 개발자들이 암호화의 기본적 수칙 잘 지키도록 돕기 위해 오픈소스로 풂.
------------------------------------------------------------------------------------------------------------------
앱 개발에 있어서 보안은 매우 중요한 부분이기 때문에 굳이 어려운 기법을 사용하진 않더라도 위에서 제시한 것처럼 가장 기본적인 수칙들만 지켜 개발한다면 피해 사례가 조금이라도 줄어들 것 같다.