보안 제품정보


슬랙의 자료 공유 기능 잘못 사용하면 피싱 공격 들어온다 2020.04.16

유명 원격 협업 플랫폼인 슬랙, 각종 정보 공유 편리하게 해주는 기능 가지고 있어
자료 공유의 편리성 보장하지만 한 가지 전제조건 있어...URL을 비밀러 유지해야


[보안뉴스 문가용 기자] 원격 협업 플랫폼인 슬랙(Slack)을 활용한 피싱 공격 방법이 발견됐다. 이 공격에 활용되는 건 슬랙 내 ‘인커밍 웹훅스(Incoming Webhooks)’라는 기능이다. 이 기능을 교묘히 활용할 경우 피싱 공격을 감행해 원격 공격자들을 농락할 수 있다고 한다.

[이미지 = iclickart]


문제가 되고 있는 인커밍 웹훅스는 손쉬운 메시지 공유를 위해 만들어진 것이다. 슬랙 플랫폼 내에서 외부 애플리케이션들을 통해서도 공유가 가능하다. URL을 알고만 있다면 슬랙 회원이든 아니든 아무 웹훅을 전송함으로써 메시지를 전달할 수 있는 것이 인커밍 웹훅스로, 제이슨(JSON) 페이로드가 HTTP로 전달되는 방식을 가지고 있다.

이 설명만 들으면 원래부터 보안 위험 요소로 꼽힐 만한데, 여태까지는 ‘낮은 위험도’를 가지고 있는 것으로 여겨졌다. 옵션 설정을 통해 메시지 공유 대상 범위를 좁히거나 특정 짓는 것이 일반적으로 권장되었기 때문이다. 웹훅의 고유 URL을 비밀로 유지하는 것 역시 권장되는 내용이었다. 이 권장 사항이 제대로 지켜지기만 한다면, ‘낮은 위험도’가 틀린 건 아니다.

“하지만 웹훅스가 항상 이런 조건 아래서 운영되는 건 아닙니다.” 에얼리언랩스(AlienLabs)의 보안 연구원인 애슐리 그레이브즈(Ashley Graves)의 설명이다. 웹훅스를 공격에 활용할 수 있는 여러 가지 방법을 연구한 그레이브즈는 여러 가지 실용적인 방법들을 찾아내는 데 성공했다고 한다. 대신 보안 취약점은 아직 하나도 발견하지 못했다.

“일단 공격자들은 제이슨 페이로드에 채널(channel)이라는 키를 추가함으로써 웹훅 전송 대상이 되는 채널을 오버라이드할 수 있습니다. 그런 상태에서 한 채널에 들어가는 하나의 웹훅에 접근하는 데 성공한다면, 다른 채널에서도 같은 웹훅을 사용할 수 있게 됩니다. 여기까지 완성되면 #general이라든지 #engineering 등 사람이 많을 것 같은 슬랙 채널에 웹훅을 마구 전송할 수 있게 됩니다. 그러면서 여러 사람에게 피싱 공격을 실시할 수 있습니다. 채널에 따라 특정 부류의 사람들을 노린 맞춤형 공격도 할 수 있지요.”

웹훅 URL들은 비공개로 처리되는 게 정상이지만, 그레이브즈가 조사한 바에 의하면 130,989개의 코드가 깃허브에 공개되어 있는 상태라고 한다. 대부분이 고유 웹훅 값을 보유하고 있는 상태였다. 즉, 130,989개 중 중복 자료가 거의 없다는 것이다.

그레이브즈는 “꽤나 중요한 발견”이라고 지적한다. “왜냐하면 대단히 많은 조직들이 슬랙을 사용하고 있기 때문입니다. 사용자들은 슬랙이라는 플랫폼에서 지적재산과 관련이 있는 이야기들을 많이 나누고, 기밀이 담긴 파일들도 수없이 공유합니다. 그러면서 ‘허락된 사람들만 이 공간에 있다’고 믿어 버립니다. 의외로 피싱 공격에 걸리기 쉬운 상태이며, 치명적일 수 있는 정보들이 유통되고 있다는 겁니다.”

물론 웹훅을 통해 민감한 정보가 직접 노출되는 건 아니다. 그러나 원래는 기밀로 취급되어야 할 웹훅의 메타데이터가 공개되는 바람에 피싱 공격이 가능한 상태고, 이를 여러 단계로 활용함으로써 민감한 정보에 도달할 수 있게 된다는 것이 그레이브즈의 주장이다. 그는 악성 앱을 설치하도록 하는 공격 시나리오를 성공시켰다고 자사 블로그를 통해 공개했다. 그리고 이 앱을 통해 민감한 정보에 접근했다고 한다. 이 때 그레이브즈는 과도한 허용을 사용자로부터 요구하는 기법을 활용했다.

“이런 식으로 공격을 진행하는 게 사이버 범죄자들 입장에서는 그리 어려운 게 아닙니다. 저만 해도 실험을 진행하는 데에 두어 시간 정도 걸렸을 뿐입니다. 가장 어려운 건 오오스(OAuth) 클라이언트를 설정하는 거였는데, 그나마도 조금 연구하니 충분히 수행할 수 있었습니다. 중요한 건 피해자들을 속여서 멀웨어 설치를 유발하는 악성 링크를 누르게 하고, 과도한 권한을 허용하도록 유도하는 건데요, 이는 모든 피싱 공격의 공통점이죠.”

그레이브즈의 실험 과정은 AT&T 블로그(https://cybersecurity.att.com/blogs/labs-research/slack-phishing-attacks-using-webhooks)에 상세히 설명되어 있다. 설명글은 영문이지만 삽화가 있어 이해가 크게 어렵지 않다.

그레이브즈는 이러한 내용을 슬랙 측과 공유했다. 하지만 슬랙 측은 모든 기능이 슬랙의 의도 대로 작동한다는 답을 보내왔다. 즉 보안 취약점이나 예상 밖의 상황이 아니라는 것이다. 대신 슬랙은 “회의 세션의 관리자라면 공개된 웹훅 URL들을 무효화 해야 한다”고 권고했다. “다른 URL을 가진 웹훅들을 새롭게 생성해야 할 것입니다. 그럴 경우 웹훅은 공격에 활용될 수 없습니다. 웹훅의 기밀성을 유지만 한다면 위험할 이유가 없습니다.”

그레이브즈는 “슬랙을 통해 설치된 앱이 과도한 권한을 유도한다면 설치를 중단하고 다시 한 번 모든 상황을 검토하라”고 권고한다. 또한 “꼭 필요한 상황이 아니라면 추가 앱을 슬랙을 통해 설치하지 않는 게 안전”하다고도 덧붙였다.

3줄 요약
1. 슬랙의 자료 공유 기능 중 하나인 인커밍 웹훅스, 피싱 공격에 악용 가능.
2. 웹훅의 URL이 원래는 비밀로 유지되어야 하지만, 깃허브 등 통해 공개된 경우 많음.
3. 공개된 URL 악용하면 피싱 공격 기법 사용해 민감한 정보 가져갈 수 있음.
4. 웹훅을 기밀로 유지할 경우, 피싱 공격 불가능해 짐.

Copyrighted 2015. UBM-Tech. 117153:0515BC
[국제부 문가용 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>