일상 속 행동 하나가 해킹의 시작이 될 수 있다
평범한 행동 하나만으로도 해킹당할 수 있는 무서운 공격 기법들이 세상에 존재합니다. 지난해에는 메시지를 열어보기만 해도 PlayStation 4가 완전히 작동 불능 상태가 되는 익스플로잇이 등장해 화제가 되었습니다. 그리고 최근에는 피해자에게 전화를 걸기만 하면 되는 WhatsApp의 '피할 수 없는' 공격까지 목격되었습니다.
공격은 어떻게 작동했나?

이번 공격은 특히 섬뜩합니다. 클릭할 링크도, 접속할 웹사이트도 없으며, 사용자가 취할 수 있는 대응책은 사실상 앱을 삭제하는 것뿐입니다. 해커는 피해자의 WhatsApp 번호로 전화를 걸기만 하면, 통화가 접수되는 순간 멀웨어 페이로드를 주입할 수 있었습니다.
이 공격은 소위 '버퍼 오버플로우(buffer overflow)'라는 기법을 이용해 사용자의 앱에 침입했습니다. 버퍼 오버플로우 공격이란 해커가 악성 코드를 공격 대상 소프트웨어의 소스 코드 영역으로 '넘치게' 밀어 넣는 방식입니다. 소프트웨어와 앱은 내부적으로 사용자 입력을 임시 저장하는 버퍼(buffer)라는 공간을 갖고 있습니다.
소프트웨어가 버퍼를 처리하는 방식에 주의를 기울이지 않으면, 해커는 버퍼 크기보다 큰 데이터를 기록하도록 시스템을 유도할 수 있습니다. 그 결과 악성 코드가 소스 코드 영역으로 '새어 들어가게' 되고, 해커는 이 지점에서 소프트웨어를 조작해 마음대로 움직이게 만들 수 있습니다.
WhatsApp 사용자가 전화를 받으면, 앱은 사용자가 어떤 동작을 원하는지 파악해야 합니다. 그래서 앱은 통화 응답이나 거절 같은 사용자의 선택을 버퍼에 저장하는데, 바로 이 짧은 순간이 공격의 골든타임이었습니다. 해커는 버퍼에 악성 코드를 집어넣어 앱의 코드 영역으로 넘치게 만든 뒤, 이 교두보를 발판 삼아 데이터를 탈취했던 것입니다.
이런 취약점은 왜 발생하는 걸까?

버퍼 오버플로우 공격은 개발자가 사용자 입력이 버퍼를 초과하지 못하도록 제대로 검증하지 않았을 때 발생합니다. 일반적으로 개발자는 너무 큰 데이터 입력을 거부하도록 소프트웨어를 설계해야 합니다. 예를 들어 어떤 앱이 이름을 최대 10글자까지만 저장할 수 있다면, 11글자 이상의 입력이 들어오지 않도록 반드시 확인 절차를 거쳐야 합니다.
이 검증 과정을 생략하면 취약점을 노린 버퍼 오버플로우 공격의 위험에 그대로 노출됩니다. 버퍼 오버플로우는 최선의 경우 소프트웨어 충돌로 끝나지만, 최악의 경우 해커에게 시스템 침입 통로를 열어줍니다. 따라서 개발자가 잘못된 입력값을 사전에 차단하도록 앱을 설계하는 것이 얼마나 중요한지 알 수 있습니다.
어떻게 대비해야 할까?

다행히 이 글을 읽는 시점이라면 이미 안전할 가능성이 높습니다. 이 취약점이 공개되자마자 WhatsApp은 즉시 수정 업데이트를 배포했습니다. 오랫동안 앱을 업데이트하지 않았다면, 지금 바로 최신 버전의 WhatsApp이 설치되어 있는지 확인하는 것이 좋습니다. 업데이트만 완료하면 이 공격으로부터 자유로워지며, 낯선 번호의 부재중 전화를 더 이상 두려워할 필요가 없습니다!
그렇다면 내 WhatsApp이 업데이트되었는지 확실하지 않다면 어떻게 해야 할까요? 앱 버전을 직접 확인해 보는 것이 가장 확실합니다. 운영사는 보안 경고문을 통해 다음과 같이 영향을 받는 버전을 명시했습니다.
영향받는 버전: Android용 WhatsApp v2.19.134 미만, Android용 WhatsApp Business v2.19.44 미만, iOS용 WhatsApp v2.19.51 미만, iOS용 WhatsApp Business v2.19.51 미만, Windows Phone용 WhatsApp v2.18.348 미만, Tizen용 WhatsApp v2.18.15 미만
WhatsApp 버전을 확인하려면 앱을 실행한 뒤 우측 상단의 점 세 개 아이콘을 누르고, 설정 → 도움말 → 앱 정보 순서로 진입하세요. 해당 화면에서 현재 설치된 버전 번호를 확인할 수 있습니다.
만약 취약한 버전을 사용 중인데도 앱이 자동으로 업데이트되지 않는다면 심각한 상황입니다. WhatsApp은 통화 기능을 비활성화하는 옵션을 제공하지 않기 때문에, 감염을 확실히 피하는 최선의 방법은 업데이트된 버전이 스토어에 배포될 때까지 앱을 완전히 삭제해 두는 것입니다.
WhatsApp 멀웨어와 깔끔하게 작별하기
이번 WhatsApp 익스플로잇은 해커가 버퍼 오버플로우를 악용해 사용자의 앱을 공격한 사건이었습니다. 다행히 지금은 앱을 최신 버전으로 업데이트하는 것만으로 이 치명적인 결함을 해결할 수 있습니다.
이번 해킹 사건을 계기로 민감한 대화를 메신저로 나누는 일이 더 걱정되시나요? 여러분의 생각을 댓글로 남겨주세요.