| [특별기고-9]보안기술만이 보안의 필수 요소라고 믿지 말아야한다 | 2010.02.01 | ||||
보안서비스와 보안메커니즘이 보안기술의 근본이지만
IT 보안은 다음 3가지 목표를 가지고 있습니다. 보통 CIA라고 이야기합니다. (C) Confidentiality 비밀성 보장 (I) Integrity 무결성보장 (A) Availability 가용성 보장 이 밖에도 중요한 것은 책임 추적성이라고 이야기하는 Accountability, 법적준수사항 이행 여부를 따지는 Compliance 가 있습니다. 그밖에 Authorized Use, Message Authentication, Non-Repudiation 등을 이야기합니다. 또한 "ISO/OSI Reference Model 7498-1" 에서는 다음과 같이 서비스와 메커니즘을 분류합니다. □ The five classes of security service defined in ISO 7498-2
- Access Control - Confidentiality - Data Integrity - Non-repudiation □ Security Mechanisms - Validation - Route Control - Traffic Flow Padding - Data Switch - Data Integrity - Access Control - Digital Signature - Encryption 이 참에 일전에 소개한 브루스 슈나이어(Bruce Schneier, 암호학의 명저로 알려진 ‘Applied Cryptography’의 저자이며 보안회사인 Counterplane Internet Security,Inc.의 공동설립자 겸 CTO) 가 지은 책인 "디지털 보안의 비밀과 거짓말"을 다시 보았습니다. "기술이 완벽한 보안을 보장해줄 수 있는가?" 라는 모토가 이 서적이 주장하는 것입니다. 2000년 3월에 기소된 캐빈 미트닉(Kevin Mitnick)은 "보안의 최대 취약점은 컴퓨터나 기술이 아니라 사람을 속이는 방법이다, 다른 사람인 척만 해도 손쉽게 패스워드를 알아낸다" 등의 이야기를 서론에서 하고 있습니다. 세계 2차 대전 이전까지는 모든 것이 단순하였으나 이후 모든 세계는 "시스템"이란 용어에 익숙해졌으며, 아마 인터넷이 가장 복잡한 시스템이라고 거론합니다. 시스템이란 (1)복잡하고, (2)상호작용하여 더 큰 시스템을 만들고, (3)예측하기 어려우며, (4)버그가 있다고 판단합니다, 인터넷과 같은 시스템에 보안을 보는 통상적인 방법은 시스템을 무시하고, 혹은 가장 큰 인터넷 시스템에 대한 인식이 없이 개별적인 기계에 즉 기술에 적용하여 암호, 방화벽, 공개키인프라 등에 치우칩니다.
이런 기술들이 이해하기 좋고 토론도 좋다고 하여 쉽게 시스템에 적용된다고 하는 것은 공상이라고 합니다. 복잡성에 기인한 보안문제로서 유용성과 보안성과의 잘못된 이해가 있으며, 상호작용에 대한 세밀한 인식 부족, 정상적인 상황에서도 문제가 발생할 수 있다는 예측 불가능, 시스템 개발 및 설계상에서 발생되는 버그 등으로 현재 보안의 문제점을 이야기 합니다. 저자는 이론과 현실 세계의 차이, 예방-탐지-대응 상의 관계에서 보안을 이야기 하고자 합니다. 보안은 방지책에 의존하려는 경향이 있지만 더욱 중요한 것은 예방-탐지-대응 모두의 3박자가 맞아야만 훌륭한 보안을 할 수 있다는 점입니다. "NIST SP-53, Security Control" 에서는 보안통제를 다음과 같이 구분하고 있습니다. - 경영관리(Management) : CA, PL, RA, SA - 기술관리(Technical) : AC, AU, IA, SC - 운영관리(Operational) : AT, CM, CP, IR, MA, PE, PS, SI 기술만이 아닌 모든 분야가 다 잘되어야만 보안이 잘 이루어지는 것입니다. 공격과 방어를 보는 일반적인 관점을 되짚어 보면
다음 그림은 필자가 2005년도에 정보보호학회 학술대화에서 초빙 강연으로 발표한 "악성코드 공격 양태와 대응 방안, Malware Intrusion and Response" 에서 보인 그림입니다. 공격자는 (1) 취약성 분석 및 제기 (2) 공격자가 직접 공격도구 개발 (3) 일반 해커가 공격 도구 사용 공격 (4) IT 재조사의 패치 (5) 사용자의 패치 라는 Cycle 을 보이고 일반 사용자의 패치 이전에 공격은 극을 달하다가 패치가 끝나면 이미 피해를 볼 만큼 본 상태가 됩니다. 방화벽, 컴퓨터 백신, IDS/IPS 등은 가장 뒤늦은 탐지와 대응을 할 수 밖에 없습니다. 전문인력에 의한 비정상행위기반 위협관리시스템, 취약성 관리 시스템을 도입하지 않는다면 보안은 실패합니다. 또한 최근에는 Mass SQL 공격으로 악성코드는 더욱 기승을 부리지 않습니까?
악성코드 대응에 필요한 사항
악성코드와 웹이 현재 위협의 80% 정도 이라면 정말 무시무시한 사안이 아닐 수 없습니다. 2005년 번역한 ┖Guide to Malware Incident Prevention and Handling, NIST Special Publication 800-83, 악성코드 침해사고 예방과 대응┖ 자료에서도 기술적 사항도 포함되지만 결국 처리 절차임을 보여주고 있습니다.
맬웨어 (Malware) 혹은 악성코드(Malicious Codes)는 시스템에 은밀히 침투하여 피해자의 데이터, 응용, 시스템의 비밀성, 무결성, 가용성에 피해를 주거나 또 다른 피해자를 괴롭히거나 파괴한다. 악성코드는 현재 모든 기관이 복구 등에 많은 어려움을 주는 가장 심각한 외부 위협요소이다. 스파이웨어, 혹은 맬웨어, 악성컨텐트는 개인의 프라이버시를 해치므로 기관에게 큰 문제를 야기한다. 스파이웨어는 수년 동안 발전되어 온 것이었지만 요즘 너무나 널리 쓰이고 있으며 시스템 침입을 통하여 개인을 감시하면서 프라이버시 뿐 아니라, 금융사기 관련 행위를 보인다. 피싱공격은 개인에 대한 사기행각을 통하여 중요정보를 불법 사이트를 통하여 빼내는 방법을 쓰고 있다. 이 문서는 기관의 악성코드에 의한 침해사고 막는 수단을 제공한다. 특히 기관이 더욱 대응을 잘 할 수 있는 권고를 포함하고 있으며, 피싱, 악성코드, 스파이웨어, 혼합공격, 스파이웨어 기반의 트래킹 쿠키, 여러 악성코드 전달 메카니즘, 네트워크 서비스 등을 포함한다. 다음을 권고한다. 조직은 악성코드 침해사고 예방을 위한 권고안을 개발하고 구현하여야 한다. 현재와 미래에서의 공격벡터를 가진 악성코드 대응지침이 필요하다. 또한 악성코드가 원치 않는 시스템 환경에 대한 선택을 하여야 하며, - 예를 들어 관리되지 않은 시스템 환경 - 그리고 조직은 정책, 직원 및 IT담당자 인식제고, 취약점 완화2) 및 위협관리3)가 필요하다. 조직은 악성코드 침해사고 예방을 위한 지원용 정책을 지원하여야 한다. 보안정책에서 악성코드 예방을 위한 인식제고, 취약성 완화, 보안도구선택, 구성관리 등을 추가하여야 한다. 보안정책은 유연하게 개발하여 잦은 업데이트가 필요 없게 하여야 하며, 원격지 사용자나 대외 관련 업체 등에 의한 영향을 고려한다. 조직은 악성코드 침해사고 예방 및 처리를 위한 인식제고 프로그램을 가져야 한다. 사용자에게 가이드를 주어야 한다. 모든 임직원은 악성코드 배포, 위험요소, 모든 위협을 기술적으로 해결하지 못하는 어려움, 사용자들의 침해사고 대응에 참여하여야만 하는 중요성을 알아야 한다. 조직은 악성코드 침해사고를 예방할 수 있는 취약성완화 능력을 가져야 한다. 조직은 취약성제거에 관한 문서화된 정책, 절차 및 프로세스를 가져 악성코드가 OS를 공격하고 응용프로그램에 문제를 일으키지 않도록 하여야 한다. 취약성 완화는 패치관리시스템, 보안구성관리, 체크리스트 및 기타 강화 수단이 필요하다. 조직은 악성코드사고 처리를 위한 위협관리가 필요하다. 기술적으로 안티바이러스, 안티스파이웨어, IPS, 방화벽, 라우터 등이 있다. 악성코드 침해사고 처리를 잘하는 침해사고대응프로세스 역량을 강화하여야 한다. NIST SP 800-61(Computer Security Incident Handling Guide)에서 다음 사항을 추가한다. + Preparation(준비) : - 악성코드 관련 침해사고 처리 정책 및 절차 - 정기적인 악성코드 처리 교육 훈련 및 검증 - 악성코드 침해사고 대응을 위한 일부 팀 및 개인 준비태세 - 악성코드 관련 대응체계로서 조정자, 기술자, 사용자의 통신 채널 확립 + Detection and Analysis(탐지분석) : 조직은 악성코드가 수분 내에 영향을 미치므로 탐지 및 검증이 매우 빨리 이루어져야 한다. 빠른 탐지가 대규모 복구 노력과 비용을 줄이게 된다. - 대외의 악성코드 권고문 감시 - 사용자 보고, 기술자료, 악성코드 침해사고 데이터 소스 등 검토 - 안정된 도구를 통한 악성코드 확인, 현 실행 중인 프로세스 검증 등 - 여러 종류의 악성코드 관련 상황에 따르는 적절한 대응 수준을 확인 검증할 수 있는 우선순위 마련 + Containment(봉쇄) : 악성코드 배포 방지, 추후 시스템피해 방지에 2가지 요소가 있다. 모든 악성코드 침해사고는 종국적으로 봉쇄를 하여야 한다. 조직은 초기 봉쇄절차를 잘하여 조직이 사고처리 절차를 잘 하도록 하여야 하는 것이 중요하다. 또한 봉쇄관련 결정이 조직의 위험을 합리적으로 수용할 수 있도록 전략과 절차를 만들어야 한다. 봉쇄전략은 사고처리 담당자가 특정한 상황에 알맞은 특징을 고려하여 처리할 수 있도록 지원하여야 한다. - 사용자에게 악성코드 침해 시, 확인 방법과 대응수단을 가르쳐 주어도 조직은 사용자들의 봉쇄 수준에만 의존하여서는 안 된다. - 만약 Anti-Virus 소프트웨어가 악성코드를 확인하고 봉쇄하지 못한다면, 다른 봉쇄 수단을 가지고 있어야 한다. 조직은 발견된 알려지지 않은 새로운 악성코드의 사본을 업체에 제출하여 분석할 수 있도록 하여야 하며, 다른 신뢰하는 CERT 등 대응조직이나 Anti-Virus 업체에 보고하여야 한다. - 악성코드가 전달되는 서비스를 막고 다른 대외 조직에도 보고하여야 한다. - 조직은 악성코드 사고가 봉쇄된 네트워크 접속에 관한 추가적인 제한사항을 준비하고 추가적인 제한사항이 주는 영향을 알고 있어야 한다. 네트워크화 된 동적인 컴퓨팅 환경에서 감염된 호스트를 확인하는 것은 매우 중요하지만 어려운 작업이 될 것이다. 조직은 대규모 악성코드 침해사고 경우, 감염 호스트 확인 작업은 매우 조심스럽게 이루어져야 하는데 다단계 전략을 통하여 효과적인 봉쇄가 가능하다. 다양한 확인 접근방식에 따라 선택을 하여 중요한 악성코드 발생 시 효과적으로 절차와 기술능력을 선택하여야 한다. + Eradication(근절) : 근절의 근본 목표는 감염된 시스템에서 악성코드를 제거하는 것이다. 이는 다양한 상황에 따라 근절 기술을 복합적으로 이용하여야 한다. 조직은 또한 근절과 복구에 관한 인식제고 프로그램도 준비하여야 한다. + Recovery(복구) : 악성코드 침해사고는 처리하는데 매우 비용이 많이 들기 때문에, 조직은 주요 악성코드 침해사고에 대하여 강력한 대응을 하는 것이 필요하다. 조직이 악성코드 침해사고를 처리하면서 얻는 교훈은 조직의 보안정책, 소프트웨어 구성관리, 악성코드 탐지, 예방 솔루션 도입 등에 도움이 된다. 조직은 악성코드 침해사고 예방과 처리 능력에서 최근 및 향후 위협에 대한 대책을 세워야 한다.
새로운 악성코드에 대한 위협은 꾸준히 나타나기 때문에 조직은 악성코드 위협에 대한 중장기적인 대책을 강구하여야 한다. 이는 강력하면서도 유연한 정책의 확보가 필수적이다. 조직은 악성코드의 신종 업데이트 정보를 꾸준히 알 수 있어야 막을 수 있는 대응책도 나타날 것이다. 신종 악성코드는 보다 심각해지므로, 조직은 이를 제어하고 줄이는 방법을 구현하여야 한다. 또한 신종 악성코드 대책에 대한 꾸준한 인식제고 프로그램도 개발되어야 한다. 다시 한번 되새깁니다. "정보보안은 QA의 중요 요소로 이해돼야" 도요타 8개모델 美 판매·생산 중단 도요타자동차가 가속페달 결함 문제를 해결하기 위해 리콜 대상인 8개 모델의 미국 판매와 생산을 일시 중단했다고 26일(현지시간) 밝혔다. (2010년 1월 28일 서울신문 내용) (http://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=104&oid=081&aid=0002059590) 일전의 제 기고에서도 밝힌 바 있지만, 추락하는 일본과 일본이 자랑하는 "품질(Quality)"는 점차 옛말이 되고 있으며, 이건희 회장의 "실적이 아닌 품질"이라는 주장이, 현대가 벤츠를 두려워하랴 라는 주장이 드디어 빛을 보게 되는 것입니다. QA는 조직의 품질을 좋게 만듭니다. 대부분의 개발자는 자신의 프로그래밍이 하나의 예술에 의한 창의적인 산물이라고 하지만, SI 업계 등에서는 노동의 산출물이라고 말합니다. 맞는 말이기는 하지만 QA는 그들의 역할이 개발자의 산출물을 요구하는 조건을 만족시키기 위하여 끈임 없는 수정을 요구하고 있습니다. 만족할 만한 수준이 된다면 그 소프트웨어, 시스템은 개발자의 산출물이 아닌 그 조직의 산출물이 됩니다. 시스템이 조직의 산출물이 된다면, 이는 조직의 고객 서비스 품질이 향상되고, 이는 조직의 경쟁력 강화로 이루어집니다. 최근 모 기업의 "오진" 이 한번이 아니었습니다. 어쩌면 또 발생하겠지요. 조직의 보안도 SP-53, ISMS, ISO 27001 등에서 요구하는 모든 보안통제를 이루어진다면 또한 이 통제가 효과성(Effectiveness)가 있는지 효율성(Efficiency)을 만족하는지, 책임추적성 (Accountability)을 만족하는지, 법적준수사항(Comliance)를 만족하는지 모두를 지속적으로 관리하면 대한민국 전 조직이 보안을 잘하게 될 것입니다. <연재 순서> 1. 대한민국 보안, 무엇을 바꾸어야 할까요? 2. 보안뉴스 TSRC의 보안 개념과 10개의 이슈 3. 보안은 한 사람이 아닌 대중이 만들어 가야 한다. 4. 보안 전문가는 국가의 소중한 자산이 되어야 한다. 5. 기술보다 실천 경험이 더 중요하게 여겨져야 한다. 6. 한 사람의 지식이 아닌 집단적인 지식이 필요하다. 7. 지식의 문서화, 전략정보화가 중요함을 알아야 한다. 8. 사용자들에게 단순 명료하면서도 풍부한 보안을 제공하여야 한다. 9. 절대적 보안 아닌 객관상대적 보안을 이루어야 한다. 10. 보안 기술만이 보안의 필수 요소라고 믿지 말아야 한다. 11. 개방적이며 비용 효율적 보안이 중요함을 알아야 한다. 12. 선진국 보안을 위하여 과학적, 민주적인 보안접근이 필요하다. [글 · 임채호 보안뉴스 TSRC 센터장(chlim@boannews.com)] *TSRC: Trusted Security Research Center <저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지> |
|||||
|
|