블로그

앱 보안: 흐린 방의 코끼리

로리 맥비티 썸네일
로리 맥비티
2015년 6월 1일 게시

구름 속의 코끼리

알았어, 얘들아. 이제 우리가 "그 대화"를 나눌 시간입니다. 여러분도 알다시피, 친구들에게 계속 속삭이면서 지금까지 실제로 물어보는 게 두려웠던 그 이야기 말입니다. 물론 모두 가 알고 있고, 잘 모른다고 인정하면 멋지지 않다는 듯이 보일까봐 두려웠기 때문이죠.  

하지만 그들은 그렇게 하지 않는다. 혹은 그렇게 하더라도 그것에 대해 말하지 않는다. 그리고 클라우드를 사용할 때 올바른 예방 조치를 취하는 것에 대해 이야기해야 할 때가 왔습니다. 클라우드에서 앱을 감염 및 공격으로부터 보호하는 방법을 알고 계신가요?

네, 오늘 마침내 클라우드에서의 애플리케이션 보안에 관해 이야기해 보겠습니다.

암호화가 아닙니다. 신원 및 액세스 관리가 아닙니다. 네트워크 보안도 아니고요.

 

애플리케이션 보안.

오늘날 광대한 인터넷에는 "클라우드 보안"에 대한 모든 문서, 연구, 조언 및 일반적인 토론이 있지만 "앱 보안"이라는 단어를 언급하는 것은 거의 없습니다.*  암호화 사용에 대한 연구와 통계를 찾을 수 있으며, 클라우드에서 데이터를 보호해야 하는 사람과 보호하지 않는 사람, 언제 어디서나 앱에 대한 접근을 통제하기 위해 어떤 종류의 ID 및 액세스 관리를 사용하는지에 대한 정보도 찾을 수 있습니다. 하지만 애플리케이션 보안 주제에 대해서는요? 아무것도. 아무것도 아님. 아무것도. 영.

최근 Verizon 데이터 침해 조사 보고서(DBIR) 에 따르면 웹 앱이 사악하게 들리는 크라임웨어에 이어 금융 서비스 부문 보안 사고의 두 번째로 큰 원인이라는 점을 고려하면 이는 정말 놀랍고 불안한 일입니다.  이번 세기 상위 25개 침해 사고에 대해 분석을 실시한 결과, 거의 절반 (44%)이 웹 애플리케이션을 통해 이루어졌다는 사실을 알게 되어 놀랍습니다. 또한 보안 태세가 약화되면서 애플리케이션이 클라우드로 마이그레이션 되는 현상도 실망스럽습니다.

현실적으로 암호화는 만병통치약이 아닙니다.

이번에는 이 문제가 얼마나 심각한지 강조하기 위해 대문자로 다시 한 번 말씀드리겠습니다. 암호화는 만병통치약이 아닙니다.

네트워크 보안이나 ID 및 액세스 관리도 마찬가지입니다.

이 모든 것들이 다 좋지만, 개별적으로 보면 훨씬 더 큰 보호 체계의 일부에 불과합니다. 애플리케이션 보안을 포함해야 하지만 종종 포함하지 않는 보호 체계.

네트워크 보안으로는 HTTP DDoS 공격을 막을 수 없습니다. ID 및 액세스 관리만으로는 HeartbleedApache Killer 와 같은 웹 플랫폼 취약점 악용을 막을 수 없습니다.

암호화는 SQLi를 막을 수 없습니다. 악성 코드를 암호화하면 네트워크 내에서 이를 찾아내는 수많은 서비스로부터 해당 코드를 감출 수 있습니다 .

이 애플리케이션은 그 목적상 대중이 이용할 수 있는 리소스입니다. 우리는 제품을 공개하고 소비자가 제품과 상호작용하기를 기대합니다. 아니, 장려하고, 유혹하고, 간청합니다. 이를 사용하려면. 설치하려면. 자주 방문하고 싶어요. 이는 애플리케이션의 세계이며, 이는 고객 대면, 직원 대면, 내부 시스템 운영 등 비즈니스의 모든 측면에서 애플리케이션이 중요하다는 것을 의미합니다. 요즘은 우리가 하는 모든 일에 애플리케이션에 의존하는데, 보안에 대해 언급해도 결코 기억하지 못하는 듯합니다.

이제 데이터 보안이나 네트워크 보안, 암호화된 통신뿐 아니라 애플리케이션 보안에도 더 많은 주의를 기울여야 할 때입니다. 데이터는 애플리케이션에서 처리 중일 때 가장 취약합니다. 그 시점에는 평문으로 저장되고 해당 애플리케이션의 완전한 제어를 받기 때문입니다. 해당 애플리케이션은 이를 표시하고, 수정하고, (봇과 스파이더, 맬웨어의 증가로 인해 점점 더 많은 사람이 이를 유인할 수 있게 되었지만) 누구에게든 전달할 수 있습니다.

즉, 우리는 악용 및 공격으로부터 애플리케이션을 보호하는 데 더 많은 주의를 기울여야 한다는 뜻입니다. 플랫폼(웹이나 앱 서버)부터 프로토콜(TCP와 HTTP)을 거쳐 실제 코드 자체까지. 우리는 공격자들이 전체 애플리케이션 스택을 악용하기 위해 사용하는 수많은 방법을 스캔하고, 정리하고, 발견하고, 방어해야 합니다.

F-Secure Labs에 따르면 웹 애플리케이션 공격 빈도는 2012년 20% 미만에서 2013년 40%로 두 배로 증가했으며, Neustar는 2014년에 DDoS 대상의 55%가 연막막이 공격(실제 애플리케이션 계층 공격을 가리는 대량 DDoS 공격)을 경험했고, 약 50%에 악성 코드/바이러스가 설치되었으며 26%가 고객 데이터를 잃었다는 사실을 발견했습니다.

애플리케이션 공격은 실제적이고 심각한 위협입니다. 특히 이러한 공격이 클라우드로 이전되면 이를 보호할 수 있는 옵션이 줄어들기 때문입니다.

보안에 초점을 맞춘 클라우드에서 제공되는 기본 서비스는 모두 액세스와 암호화에 관한 것입니다. 그 중 어느 것도 "애플리케이션 계층" 보안이 아니며, 애플리케이션 자체를 악용하여 데이터를 비활성화, 손상 또는 빼돌리려는 공격에 견딜 수 있다는 확신을 심어줄 만큼 필요한 적용 범위를 제공하는 것도 없습니다. 즉, 데이터 센터에서와 마찬가지로 클라우드에서 애플리케이션과 해당 애플리케이션이 처리하는 데이터를 보호하도록 설계된 또 다른 솔루션, 즉 또 다른 서비스가 필요하다는 뜻입니다. 이는 클라우드 기반 WAF(웹 애플리케이션 방화벽) 또는 서비스로서의 WAF를 의미하거나 최소한 클라우드에 배포된 모든 애플리케이션에 OWASP 에서 권장하는 모범 사례를 철저히 적용하는 것을 의미합니다.

클라우드 보안은 공유 책임으로 볼 수 있습니다. 즉, 공급자와 고객이 "클라우드" 보안의 다양한 측면을 맡는 것입니다. 그러나 애플리케이션 보안은 처음에 해당 애플리케이션을 클라우드에 배치한 사람의 책임으로 110% 이루어집니다. AWS 글로벌 보안 프로그램 책임자인 Bill Murray와의 이 인터뷰( The Register 를 통해)를 고려해 보세요(강조는 필자가 했습니다):

Murray는 최근 인터뷰에서 "AWS의 보안은 AWS와 고객이 공유하는 책임입니다."라고 말했습니다. 그는 Amazon 데이터 센터의 물리적 보안을 포함한 AWS 보안을 담당하고 있으며, 법 집행 기관의 영장과 소환장도 처리합니다.

"고객은 AWS에서 실행하는 게스트 운영 체제부터 실행하는 애플리케이션까지 모든 것을 보호할 책임이 있습니다." 그는 El Reg 에 이렇게 말했습니다. "우리는 호스트 OS와 VM, 그리고 데이터 센터 바닥의 콘크리트까지 모든 것을 책임집니다."

“우리는 이런 질문을 많이 받습니다. '무엇이 당신을 밤에 깨어 있게 만드나요?' AWS 보안에서 우리를 밤새도록 깨어있게 하는 것은 고객이 보안을 유지하기 위해 애플리케이션을 올바르게 구성하지 않는다는 것입니다."라고 Murray는 말했습니다.

그게 바로 여러분입니다. 즉, 필연적으로 여러분에게 다가올 공격으로부터 애플리케이션을 보호하기 위해 어떤 서비스와 솔루션을 배포할지 신중하게 고려해야 한다는 뜻입니다.

애플리케이션 보안은 비싼 보디가드와 다릅니다. VIP 앱에서만 제공되는 기능은 아닙니다. 이건 개인 보안과 더 비슷하고, 대중에게 공개되는 모든 애플리케이션에 있어야 할 기능입니다. 이는 해당 앱이 데이터 센터에 있든 클라우드에 있든 마찬가지입니다.

* "매우 적다"고 했지만 솔직히 말해서 하나도 찾을 수 없었습니다. 아마도 내 구글 검색 능력이 부족해서 그럴 수도 있지만, 더 큰 이유는 아무도 이 문제에 대해 이야기하고 싶어하지 않기 때문일 겁니다.