인생은 고통의 연속

개발 5년만에 멀웨어 발견된 앱 본문

잡담/개발다반사

개발 5년만에 멀웨어 발견된 앱

gnidoc 2019. 2. 9. 21:55
    반응형

    페이스북 개발자 그룹에서 아래 소식을 먼저 접했는데 


    개인 개발자가 5년 전에 앱을 개발했었고 악성코드가 삽입되어 배포되었다는 것이다.

    https://www.clien.net/service/board/park/13142907


    사태파악이 잘 되지 않아서 자세히 찾아보니 어떤 친절한 분이 영문 글을 번역해주셨다.


    참고글 : https://www.clien.net/service/board/news/13142545?fbclid=IwAR3fJsvdW6US8Chv0TjZggBbkR6VCX_z7gPDXOzRUPTb32RmLgkzi57phzI


    종합해보면 대충 내용은 이러했다.


    문제는 이 개발자분의 구글계정을 털린거에서 시작되었다고 한다.


    구글 계정은 개인 프로젝트를 위한 빗버킷에 연동되어있었고


    그 빗버킷에 해당 앱에 대한 프로젝트가 private으로 들어있었다.


    소스코드에는 릴리즈용 apk를 빌드하기 위한 인증서와 비밀번호가 gradle 파일에 하드코딩 되어있었고


    구글 계정이 털린 것으로 빗버킷 -> 개인프로젝트 -> 악성코드(삽입) 이 된 사태이다.


    계정을 해킹하고 치밀하게 메일과 관련된 모든 알림을 꺼놔서 개발자분도 이런 내용을 몰랐다고 한다.


    다행히? 악성코드가 추가된 버전은 추가적인 권한을 요청했기 때문에 자동 업데이트는 안되었다고 한다.

    (물론 지금도 사용 중인 유저라면... ㄷㄷ)


    업데이트가 된 악성코드가 추가된 앱은 무슨 짓을 했느냐?


    이 악성코드는 본인들이 따로 만든 멀웨어를 다운 받게했고 


    특정 플러그인을 다운 받았다.

    (문제의 플러그인은 .mov로 다운로드되어 사용자에게는 미디어 파일처럼 보이도록 했다)


    그리고 이 플러그인들은 


    기기 내부에 특정 키워드(북한, 군사 관련)가 포함된 파일이 있다면 자신들의 서버에 업로드를 했다고 한다.

    (이 중 대표적인게 카카오톡에 대한 활동이다)


    추측해보자면, 북한에서 대구에 있는 군부대(육본)을 노리고 이런 짓을 했을꺼 같다라는 시나리오가 세워지는데(가설)


    사이버수사대에서 알아서 해결할거라 생각한다.(찾아낸 것도 되게 신기하더라...)


    이게 밝혀지면서 앱은 자동으로 플레이 스토어에서 내려갔다고 한다.


    나는 이걸 보자마자 했던게

    모든 계정에 대해서 2차 인증을 추가했다.

    OTP와 계정보안 알림을 모두 켜뒀는데 결국 2차 인증은 내 핸드폰에 집중되어 버렸다.

    핸드폰을 잃어버리거나 중고로 판매한다면 이런 정보들을 내가 말끔히 지울 수 있을지 의문이 들었다.

    갑자기 전에 중고로 판 핸드폰의 행방이 의심되어

    모든 계정에 등록된 기기들을 초기화해서 지금 매우 불편하게 하나하나 로그인 중이다.
    (나라고 안생길 일은 아니기 때문)


    그래서 난??

    나도 프로젝트나 회사에서 일할때 안일하게 나도 저렇게 하드코딩한 적이 많았는데

    예를 들어서 보통 WAS + DB 구조의 웹서비스를 하면 

    DB의 커넥션 연결을 위해서 WAS에 DB의 계정과 도메인 등의 보안 정보를 코드로 넣어둔다.

    그래서 한번은 코드와 보안정보는 어떻게 분리해야할지 고민을 해보긴 했었다.

    고민 끝에 보안정보를 파일로 분리해서 env(환경변수)에 따라서 다른 파일을 쓰도록 했었는데

    결국 보안정보가 파일로 남는 문제가 있었다.

    그리고 cluster를 구성해서 하는 경우, 각각의 cluster에 보안정보 파일을 한번에 변경할 수 있는 방안도 필요했는데

    결국 보안정보 파일이 소스코드에 탑재되버리는 운명을 가졌다...
    (이러나 저러나...)

    회사라면 내부에서 VPN을 사용해서 외부에서 접근이 불가능 하지만 

    와이파이같이 무선으로 외부에서 접근할 수도 있고

    계정정보같은건 맘먹고 직원이 들고 튀면 어쩔 수 없는 부분도 있지 않는가

    물론 보안정책을 제대로 구축해놓은 서비스라면 단순히 계정정보만 있다고 해서 접근이 되면 안되겠지만...
    (최소한 포트나 ip에 대한 방화벽 구축만 해놔도 충분한 부분)

    언제나 불안한건 사실이다.

    대부분 혼자서 개발을 했었기 때문에 이런 부분에 대해서 정보를 얻기가 좀 어려웠다.
    (이직하게 되면 다시 고민해봐야지...)

    그리고 저런걸 사이버수사대나 mcafree는 어떻게 발견했는지 참...

    이런걸 보면 보안쪽 하시는분들은 정말 대단한 것 같다.


    반응형

    '잡담 > 개발다반사' 카테고리의 다른 글

    Wekan 리뷰  (4) 2021.01.15
    백엔드 개발자 로드맵  (2) 2019.03.09
    구글 애드센스  (2) 2019.01.08
    개발서적 구경은 영풍문고 종로점가 최고인듯  (0) 2019.01.03
    OOP 까는글을 까는글  (0) 2018.12.31
    Comments