공격자와 싸움을 하려면 전문 지식이 필요하다. 모든 보안 전문가가 알아야 할 기본은 다음과 같다.
빨라진 IT 보안으로 인해 보안 업계 또한 변하지 않는 관련 직업은 거의 없다. 실무자들은 매년 평균 5,000~7,000개의 새로운 소프트웨어 취약점에 직면해 있다. 이 숫자는 지난해 1만 6,555개로 급증했다. 이는 보안 담당자들이 자신의 방어선에서 매일 13~45번의 새로운 약점을 발견한다는 것이다. 매년 IT 환경을 위협하는 수천만 개의 고유한 악성코드 프로그램과 이를 통해 공격을 시도하는 공격자들과 싸움을 벌이고 있다.
끊임없는 위협이 계속되고 있는 상황에서 단 한번의 실수로 회사의 평판을 손상시키고 미디어에 좋지 못한 내용으로 회사 이름이 오르내리는 상황을 만들고 수익을 떨어뜨리고 사람들을 해고시킬 수 있다.
보안 팀이 성공적으로 싸울 수 없다고 말하는 것이 아니다. 물론 할 수 있으며, 해야 한다는 것이다. 다음은 성공적인 싸움을 위해 모든 컴퓨터 보안 전문가가 알아야 할 12가지 사항이다.
1. 상대방의 동기
나쁜 사람이 누구인지, 왜 자사를 공격하는지 이해하지 못한다면 성공적인 싸움을 시작할 수 없다. 모든 공격자는 자신만의 고유한 동기와 목표를 갖고 있는데, 이 2가지가 공격자가 하는 모든 일과 행동 방식을 주도한다. 오늘날, 해커는 심각한 동기로 자사를 공격한다. 대부분 다음 범주 중 하나일 것이다.
- 금전 - 국가 후원/사이버전(cyberwarfare) - 기업 스파이 - 핵티비스트 - 자원 절도 - 멀티 플레이어 게임 속임수
공격자가 많더라도 모든 공격이 동일하지 않다. 공격 동기를 이해하는 것이 이를 해결하는 중요한 열쇠다. “이유”와 다른 모든 것을 고려하라. 이것이 자사의 네트워크에 어떤 유형의 공격 목표가 있는지 알아내는 가장 좋은 방법이다. 또한 상대를 물리치는 방법에 대한 단서를 찾을 수도 있다.
2. 악성코드 유형
컴퓨터 바이러스, 트로이목마, 그리고 웜 등 3가지 주요 악성코드 유형이 있다. 모든 악성코드 프로그램은 이런 분류 가운데 하나 이상의 유형을 융합한 것이다.
컴퓨터 바이러스는 복제할 다른 프로그램, 파일, 디지털 저장소 내부에서 자신이 주인이 되는 악성코드 프로그램이다. 트로이목마는 사람들에게 합법적이라고 주장하는 악성코드 프로그램이다. 트로이목마는 자체를 복제하지 않고 확산을 위해 인간의 방심이나 호기심에 의존한다. 웜은 코드를 사용해 자체 확산되는 복제 프로그램이다. 다른 호스트 프로그램이나 파일이 필요하지 않다.
악성코드 프로그램을 찾을 때 시스템에 어떻게 침입했는지 시나리오를 잘 분석할 수 있도록 이런 기본 범주의 악성코드를 이해하는 것이 중요하다. 이를 통해 악성코드의 출처를 찾고 어디로 더 확산될 수 있는지 파악할 수 있다.
3. 근본 원인 익스플로잇
매년 IT 보안 전문가는 수천가지 새로운 소프트웨어 취약점과 수백만 개의 고유한 악성코드에 직면하고 있지만 익스플로잇은 12가지 근본 원인을 통해 이뤄진다. 근본 원인 익스플로잇을 막으면 해킹과 악성코드를 멈출 수 있을 것이다. 다음은 10가지 유형의 근본 익스플로잇이다.
- 프로그래밍 버그 - 소셜 엔지니어링(Social engineering) - 인증 공격(Authentication attack) - 인적 오류 - 잘못된 구성 - 도청/중간자 공격(Man in the Middle, MitM) - 데이터/네트워크 트래픽 기형 - 내부자 공격 - 서드파티 신뢰 문제 - 물리 공격
이 가운데 어떤 것도 허용해서는 안된다. 그러나 이는 쉬운 일이 아니다.
4. 암호화 및 데이터 보호
디지털 암호화(cryptography)는 무단 액세스 및 수정으로부터 정보를 안전하게 보호하는 기술이다. 모든 IT 보안 전문가는 비대칭 암호화(asymmetric encryption), 대칭 암호화(symmetric encryption), 해싱(hashing), 그리고 키 배포 및 보호를 포함해 암호화의 기본 사항을 배워야 한다.
데이터 보호에는 많은 암호화가 필요하다. 완벽한 데이터 보호를 위해서는 데이터를 합법적으로 수집해 사용해야 하며, 무단 액세스로부터 개인정보를 보호해야 하며, 악의적인 수정을 방지하고 가용성을 보장하기 위해 데이터를 안전하게 백업해야 한다. 법률에 따라 데이터 보호가 점점 더 엄격해지고 있다.
양자 컴퓨터의 발전과 양자 컴퓨팅이 공개 키 암호화를 해독할 수 있는 능력을 보유할 때까지는 암호화를 유지해야 한다. 향후 10년 이내에 지금 사용하는 모든 공개 키 암호화(예, RSA, 디피 헬만(Diffie-Hellman) 등)를 양자내성암호(post-quantum ciphers)로 알려진 암호화로 이동해야 할 가능성이 있다. 미국 NIST(National Institute of Standards and Technology)를 포함해 전 세계가 이런 변화를 준비하고 있다. 다가오는 급격한 변화를 놓쳐서는 안된다.
5. 네트워킹 및 네트워크 패킷 분석
보안 팀에서 패킷 수준의 네트워크를 이해하고 있다면 진정한 IT 보안 전문가를 보유하고 있는 것이다. 프로토콜, 포트 번호, 네트워크 주소, OSI 모델 계층, 라우터와 스위치의 차이점과 같은 네트워크 기본 사항에 익숙해야 하며 네트워크 패킷의 다양한 필드가 사용되는 내용을 읽고 이해할 수 있어야 한다.
네트워크 패킷 분석을 이해하려면 네트워크와 네트워크를 사용하는 컴퓨터를 깊이 이해해야 한다.
6. 기본 공통 방어
거의 모든 컴퓨터에는 일반적인 IT 보안 전문가가 고려하고 적용하는 일반적인 기본 방어 기능이 있다. 이것이 컴퓨터 보안의 표준이다. 기본 방어 기능은 다음과 같다.
- 패치 관리 - 최종 사용자 교육 - 방화벽 - 안티바이러스 - 안전한 구성 - 암호화 - 인증 - 침입 탐지 - 로깅
모든 IT 보안 전문가는 기본 공통 IT 보안 방어를 이해하고 사용해야 한다. 그러나 단순히 기능을 작동하는 것에만 그쳐서는 안된다. 이 기능들이 무엇을 막고 잘 막지 못하는 지를 알아야 한다.
7. 기본 인증
최고의 보안 전문가는 인증이 유효한 비밀번호를 입력하거나 이중요소 ID 테스트를 만족시키는 프로세스 그 이상이라는 점을 이해한다. 인증은 이것보다 더 많은 것을 포함한다. 인증은 이메일 주소, 사용자 이름 또는 로그온 이름과 같은 모든 네임 스페이스에 대해 고유하고 유효한 IT 레이블을 제공하는 프로세스에서 시작된다.
인증은 유효한 ID 보유자와 그의 인증 데이터베이스/서비스에 의해서만 알려진 하나 이상의 비밀을 제공하는 프로세스다. 유효한 자격 증명 보유자가 올바른 인증 요소를 입력하면 인증된 사용자가 자격 증명의 유효한 소유자임을 증명한다.
그런 다음 인증에 성공하면 권한 부여(authorization)라고 하는 보안 관리자 프로세스에서 대상의 보호된 리소스 액세스 시도를 검사한다. 모든 로그온과 액세스 시도는 로그 파일에 문서화되어야 한다.
보안의 다른 모든 것과 마찬가지로 인증도 발전하고 있다. 새로운 개념 가운데 하나이자 가장 잘 받아들일 것으로 생각되는 개념은 바로 지속적 사용자 인증(continuous user authentication)이다. 이는 로그인한 사용자의 모든 작업이 기존 패턴에 따라 지속적으로 재평가하는 것을 의미한다.
8. 모바일 위협
지구상에 있는 사람들보다 더 많은 모바일 장치가 있으며, 대부분의 사람은 모바일 장치를 통해 많은 정보를 얻는다. 인류의 모바일 기술은 계속 발전할 가능성이 높기 때문에 IT 보안 전문가는 모바일 장치, 모바일 위협, 모바일 보안을 심각하게 생각해야 한다. 주요 모바일 위협은 다음과 같은 것이 있다.
- 모바일 악성코드 - 개인정보 침해 및 도난 - 랜섬웨어 - 피싱 공격 - 스파이웨어 - 데이터 또는 자격 증명 도난 - 사진 도난 - 안전하지 않는 무선
일반적으로 모바일 위협과 컴퓨터 위협에는 큰 차이가 없지만 약간의 차이가 있다. 그리고 이 차이가 무엇인지 아는 것이 IT 전문가의 일이다.
9. 클라우드 보안
기존 네트워크보다 클라우드 보안이 더 복잡해지는 4가지 요인은 무엇일까? IT 전문가라면 이 물음에 쉽게 대답할 수 있어야 한다.
정답은 통제력 부족, 인터넷에서 항상 사용, 멀티 테넌시(공유 서비스/서버), 가상화/컨테이너/마이크로서비스다.
이 농담은 클라우드가 실제로 다른 사람들의 컴퓨터를 의미하고 이에 따른 모든 위험을 의미한다는 것이다. 기존 기업 관리자는 더 이상 민감한 데이터와 서비스 사용자를 저장하는 데 사용되는 서버, 서비스 및 인프라를 제어하지 않는다.
클라우드 공급업체의 보안팀이 이 업무를 수행하고 있다고 믿어야 한다. 클라우드 인프라스트럭처는 거의 항상 멀티 테넌트 아키텍처이며, 가상화와 최신 컨테이너 서비스 및 마이크로 서비스 개발로 인해 서로 다른 고객의 데이터를 분리하는 것이 복잡할 수 있다. 보안을 좀 더 쉽게 수행할 수 있게 하기 위해 각각의 개발은 일반적으로 인프라를 더욱 복잡하게 만든다. 그리고 이 복잡성과 보안은 일반적으로 맞지 않다.
10. 이벤트 로깅
매년 조사에 따르면, 가장 많이 놓친 보안 이벤트가 로그 파일에서 바로 발견되는 것으로 나타났다. 단지 보기만 하면 발견되는 셈이었다. 좋은 이벤트 로그 시스템의 가치는 금과도 같다. 또한 좋은 IT 전문가는 로그 시스템의 설정 방법과 컨설팅 시기를 알고 있다. 모든 IT 보안 전문가가 알아야 할 기본 이벤트 로깅 단계는 다음과 같다.
- 정책(Policy) - 구성(Configuration) - 이벤트 로그 수집(Event log collection) - 표준화(Normalization) - 인덱싱(Indexing) - 저장 - 상관 관계(Correlation) - 기준선(Baselining) - 경고(Alerting) - 보고
11. 사고 대응
결국 모든 IT 환경은 방어에 실패한다. 해커나 그들의 악성코드는 어떻게든 뚫을 수 있도록 만든다. 사고가 발생하면 당연히 혼란이 뒤따른다. 사고 대응 계획을 통해 우수한 IT 전문가가 이를 준비하고 사고 즉시 조치를 취해야 한다. 좋은 사고 대응은 필수적이다. 한 이벤트가 하루를 망치는 사건인지, 온갖 미디어에서 떠들고 회사의 평판을 더럽히는 사건인지의 차이는 바로 여기에 있다. 사고 대응의 기본 사항은 다음과 같다.
- 효과적이고 시기적절한 방식으로 대응 - 피해 제한 - 포렌식 분석 수행 - 위협 식별 - 커뮤니케이션 - 미래 피해 제한 - 교훈 인지
12. 위협 교육 및 커뮤니케이션
대부분의 위협은 잘 알려져 있으며 자주 발생한다. 최종 사용자부터 고위 경영진, 이사진에 이르기까지 모든 이해 관계자는 기업에 대한 현재의 주요 위협과 이를 방지하기 위해 무엇을 하고 있는지 알아야 한다. 소셜 엔지니어링과 같이 사용자가 직면한 위협 가운데 일부는 직원들을 교육해야만 막을 수 있다. 따라서 의사 소통 능력은 종종 훌륭한 IT 전문가와 평범한 IT 전문가의 차이점이 될 수 있다.
어떤 기술적인 제어를 배포하든 공격자들은 매년 이를 넘어설 것이다. 따라서 이해 관계자가 준비되어 있는지 확인하라. 기업 보안 교육 프로그램에서 최소한 다음과 같은 항목은 다뤄야 한다.
- 조직에 대한 가장 가능성이 높고 중대한 위협과 위험 - 허용되는 사용 - 보안 정책 - 인증 방법과 피해야 할 사항 - 데이터 보호 - 소셜 엔지니어링 인식 - 의심스러운 보안 사고를 보고하는 방법과 시기 editor@itworld.co.kr