* 본 콘텐츠는 2017년도 기준으로 작성된 글을 재업로드 한 콘텐츠입니다.
보안 사고는 기업의 특성이나 규모, 분야를 가리지 않습니다. 사이버 범죄의 경우 적국의 정부기관보다는 오히려 기업에 파고들어 지적 재산을 노리는 예가 더 많습니다. 그런데 왠지 보안 사고를 겪는 기업들은 비슷한 실수를 저지릅니다. 적어도 2016년에 발생한 사이버 공격은 대부분 비슷한 경로나 실수로부터 비롯되었습니다.
IBM의 보안 고문인 다이애나 켈리(Diana Kelley)의 설명를 전해 드리겠습니다. 이런 기업에서 문제를 보면 ‘사람’과 ‘위생’이 있는데요. 우선 ‘사람’은 보안과 상관없는 부서에서 일하는 일반 직원들의 행동입니다. 특히 기업 시스템과 상호 작용을 하는 부분에서의 습관이나 사고 방식을 말합니다.
두번째로 ‘위생’은 평소의 보안 위생입니다. 기업이 자사 네트워크나 시스템의 업데이트나 보안 점검 등을 어떤 식으로 하는지를 말합니다. 두 가지 문제를 좀 더 구체적으로 풀어 기업들이 당하고 당하고 또 당하는 이유 7가지로 꼽아봅시다.
1. 개발 전 단계에서 코드 점검을 하지 않는다.
보안과 관련된 기업 내 문화나 정책을 바꾸지 않는 이상 다룰 수 없는 리스크가 있습니다. 그래서 코드 주입과 같은 공격이 지난 15년 동안 계속해서 위협거리가 되고 있는 것 입니다. 2017년도 우리는 ‘주입 취약점’에 계속해서 노출되어 있을 겁니다. ‘주입 취약점’은 잘못된 코딩에서 나오는 것이기도 하지만 개발자들이 입력값 혹은 입력자에 대한 인증에 대해 이해하고 있지 못해서 발생합니다. 취약점이 무엇인지 이해하고, 발견된 특정 취약점에 대해서도 이해한 상태에서 코딩을 하고, 그 후에는 반드시 실험 과정을 거쳐야 합니다. 소프트웨어 코드를 출시 전에 실험해봄으로써 취약점이 없는 앱을 시장에 내놓을 수 있게 됩니다.
2. 소스코드가 그냥 노출되어 있기도 하다.
보안 업체인 세이프브리치(SafeBreach)의 보안 연구원이자 부회장인 아밋 클레인(Amit Klein)은 “소스코드가 의외로 많이 노출되어 있어 공격의 통로로서 활용되기도 한다”고 설명합니다. “2016년에 가장 큰 유출 사고를 기록한 야후의 경우가 바로 이런 것이죠. 그 중요한 소스코드를 누가 보호하지 않겠는가, 하고 생각하겠지만 야후같이 큰 기업도 안 했어요.” 소스코드를 제대로 보호하지 않았다는 건 야후의 세션 쿠키 생성 알고리즘이 매우 약했다는 뜻입니다. 아밋은 “야후 알고리즘이 너무 약해서 공격자들이 쿠키 값을 예상할 수 있었다”며 “그러니 야후가 만든 것과 비슷한 쿠키를 공격자들도 만들어낼 수 있었다, 암호 보호 장치를 그냥 통과해 마치 실제 사용자인 것처럼 시늉할 수 있었던 것이죠. 사고가 여기서부터 터진 겁니다.”라고 말합니다.
3. 디폴트 암호를 바꾸지 않는다.
사람들은 의외로 고집스럽게 디폴트 암호를 변경하지 않습니다. 바로 이 고집 때문에 최근 기록적인 디도스 공격들이 발생했습니다. 2016년 하반기의 화재된 미라이(Mirai) 멀웨어의 경우, 대표적인 디폴트 암호 몇 개를 악용하는 것이 사실 거의 전부였습니다. 반대로 말하면 디폴트 암호를 한 글자만 바꿔도 무력해지는 것이 미라이였습니다. 미라이가 기승을 부렸다는 건 공격자들이 대단한 게 아니라 방어자들이 너무 약하고 고집스러워서 였습니다. 기업들은 와이파이 접속 지점, 라우터, 모든 사물인터넷 기기에 디폴트 암호가 바뀌지 않은 채 적용되어 있는지 점검해야 합니다. 또한 되도록 기기들마다 다른 암호와 사용자 이름을 설정하는 것이 좋습니다. 이것만으로도 미라이 디도스 공격을 막을 수 있고 해커 입장에서는 매우 귀찮고 지난한 과정을 거치는 수고가 있어야만 공격을 성공시킬 수 있게 됩니다.
4. 패치도 잘 하지 않는다.
패치를 기업 전체적으로 관리하는 곳도 그리 많지 않습니다. 이는 직원들의 사무 공간에 위험한 구멍들이 막 뚫려 있는데 보수 공사를 하지 않고 누가 빠져서 발이 부러지든 말든 그냥 방치하는 것과 마찬가라고 할 수 있습니다. 소프트웨어 제조업체가 배포하는 패치를 기업 차원에서 적용하지 않는다면, 공격자에게 길을 내주는 것과 다름이 없습니다.
5. 인간이라 실수하고 오류를 만든다.
그 오래된 피싱 공격이 여전히 큰 위협거리라는 것도 사실 부끄러운 일입니다. 피싱 공격에 대한 대처가 되지 않아서 작년 한 해가 랜섬웨어 공격자들의 성공의 시기로 기록되었습니다. 이 피싱 공격은 사람의 부주의나 실수를 악용하는 것으로, 소셜 엔지니어링 기법도 그런 면에서는 같은 맥락에 놓여 있는 공격법이라고 볼 수 있습니다. 소셜 엔지니어링과 피싱 공격이 계속해서 증가하고 있는데, 이에 대한 대처법을 강구하는 게 중요합니다. 사용자들(일반 직원들)을 교육하고, 수상한 메일이나 메시지를 어떻게 구별하고, 어떤 식으로 대처해야 하는지 알려줘야 합니다. 단순히 알리는 걸 넘어서 강압적인 제도를 병행시킬 필요가 있습니다.
6. 데이터의 흐름을 파악하지 못한다.
인터넷과 완전히 단절된 업체가 아닌 이상 데이터는 항상 기업 밖으로 흘러나가고 또 안으로 흘러들어옵니다. 그런데 이러한 데이터의 흐름에 비해 데이터에 대한 관리 및 감독은 제대로 이루어지고 있지 않습니다. 작년 미국 국토안보부와 FBI 등에서 직원들의 데이터를 200GB나 훔쳤다고 주장하는 해커가 있었는데, 길지 않은 시간 사이에 200GB가 그 두 조직으로부터 흘러나왔다는 것 자체가 논란이 되었습니다. 200GB의 트래픽 흐름을 눈치 채지 못했다는 것이 충격적이었던 것입니다. 데이터가 바깥으로 나갈 때, 도착지가 안전한 곳이라는 걸 반드시 확인해야합니다. 안으로 들어오는 트래픽에 대해서는 비교적 엄격하게 관리하는데, 그 반대는 소홀히 다룹니다. 유출 사고가 우리를 괴롭히고 있다는 것 자체가 이런 보편적인 태도를 나타내는 겁니다. 해커가 침투하는 게 겁나는 만큼, 정보가 알 수 없는 곳으로 빠져나가는 것도 경계해야 합니다.
7. 침투를 제대로 막는 것도 아니다.
바깥으로 나가는 트래픽을 지적했는데, 그렇다고 들어오는 트래픽에 철저한 것도 아닙니다. 침투에 성공한 외부인이 네트워크 안을 수평적으로 돌아다니고 있는데도 모를 때가 대부분입니다. 공격자들은 멀웨어를 설치하기도 하고, 가만히 앉아서 관찰하기만 할때도 있습니다. 그러면서 스크린을 캡처하고 키로깅을 합니다. 원하는 대상을 골라서 공격하는 것도 그리 어렵지 않습니다. 기업에서는 사실, 이미 공격이 들어와 있다고 가정하고 방어 시스템을 구축하는 것이 좋습니다. 무작정 침투부터 방지하겠다고 나서는 것은 위험하며, 네트워크를 철저히 분리시켜서 관리, 보호하는 것이 중요합니다.
출처 : 보안뉴스