A. 대응방안 요약
- 악성코드 사고 예방에 대한 정책을 준수
- 악성코드 사고 예방과 사후 대응을 인식 프로그램에 통합
- 악성코드 사고 예방하는데 도움 되는 취약성 안화 기능을 구현
- 악성코드 사고 예방하는데 도움되는 위협 완료 기능을 구현
- 악성코드 사고 영향을 줄이기 위해 방어 아키텍처 고려
- 악성코드 사고를 처리하는 강력한 침해 대응 프로세스를 구현
B. 정책(Policy)
1) 주요 이점과 쟁점
- 정책 구현의 유연성을 제공 / 잦은 업데이트를 하지 않아야 함
> 일반적이어야 하지만 정책의 의도와 범위를 명확하고 구체적으로 제작
- 기존 정책과 겹치는 경우
> 기존 정책을 유지하며 악성코드 대응을 위한 별도의 정책을 유지
- 정책 대상
> 조직에 방문하거나 조직에 접속하는 모든 사용자를 대상으로 구성
2) 핵심 고려사항
- 악성코드에 감염되기 전에 조직 외부를 통해 미디어를 검사
- 이메일 첨부 파일을 열기 전 검사를 요구
- 이메일을 통해 특정 파일(ex. exe파일)의 송수신을 금지
- 파일을 전송할 수 있는 응용프로그램의 사용을 제한하거나 금지
- 누구나 접근 가능한 시스템에 이동식 미디어(USB, 스마트폰 등) 사용 금지
- 여러 유형의 호스트를 파악 ( 서버, PC, 스마트폰 등 )
> 각 호스트에서 응용프로그램 파악 ( 이메일, 브라우저, 메신저 등 )
> 상황에 맞는 예상 소프트웨어 ( 백신, 컨텐츠 필터링 등 )
- 조직에서 발행한 모든 접근 방식을 외부에서 사용하는 것을 제한하거나 금지
C. 인식(Awareness)
1) 주요 이점과 쟁점
- IT 호스트를 사용하는 사용자의 인식을 개선
- 악성코드 사고 예방에 관한 지침을 제작
> 악성코드 감염 경로와 사고의 심각도를 줄일 수 있음
- 모든 IT 호스트 사용자가 인식해야 하는 정보
> 악성코드가 호스트에 침입하고 감염되는 방식
> 악성코드로 인해 발생할 수 있는 위험
> 사고를 방지하기 위한 기술 통제의 무능력한 부분
> 사회 공학 공격의 유형과 대응 방안
- 호스트 감염 여부 식별
- 의심스러운 사고 신고 방법
- 사고 처리자를 돕기 휘애 사용자가 해야 할 일을 가이드 제작
> 백신, 호스트에서 악성코드 검색
- 사회공학 기법에 대한 인식 활동의 일환으로 직원을 대상으로 교육
> 악성코드 예방에 댛나 기본 수준의 인식을 가짐
> 악성코드 방지 관련 작업에 대한 교육을 받아야 함
> 지속적으로 일부 IT 직원은 새로운 악성코드 위협 유형에 대한 정보를 받아 검토
> 위험 가능성을 평가하여 필요한 정보를 제공
> IT 직원에게 새로운 위협 요소를 알려 사고를 예방
2) 핵심 고려사항
- 알려지지 않은 발신자나 의심스러운 발신자로부터 받은 이메일 열람, 첨부 파일 실행하지 않음
> 의심스러운 링크를 클릭하여 웹 사이트 방문하지 않음
- 의심스러운 웹 브라우저 팝업 창을 클릭하지 않음
- 악성코드와 관련있을 수 있는 파일 확장명을 가진 파일을 실행하지 않음
- 악성코드 보안 제어 메커니즘을 비활성화하지 않음
> 백신, 콘텐츠 필터링, 개인 방화벽 등
- 호스트 작업 권한을 관리자 계정으로 사용하지 않음
- 신뢰할 수 없는 출처에서 응용 프로그램을 다운로드하거나 실행하지 않음
D. 취약성 완화(Vulnerability Mitigation)
1) 주요 이점과 쟁점
- 악성코드 감염에 주요 핵심 메커니즘
- 취약성을 완화하는 핵심은 패치를 위한 소프트웨어 업데이트
> 업데이트 시 서비스 가용성에 문제가 발생할 수 있음
- 취약한 문제를 일으키는 소프트웨어 재구성(비활성화 등)
- 취약성 완화를 위해 정책, 프로세스, 절차를 문서화
- 자동화 기술을 이용하여 운영
> 지속적으로 패치 모니터링
> 패치를 식별, 획득, 배포, 설치하기 위한 패치 관리 자동화
> 패치 관리 시스템(PMS, Patch Management System)
> 운영체제, 응용프로그램 목록화
> 패치 대상 파악
- 최소한의 권한 유지
> 공격자가 취약성을 악용하기 위해 관리자 수준의 권한이 필요할 수 있음
2) 핵심 고려사항
- 악성코드가 확산할 수 있는 불필요한 벡터가 될 수 있는 서비스를 비활성화하거나 제거
- 악성코드가 확산할 수 있는 안전하지 않은 파일 공유 제거
- 악성코드가 사용할 수 있는 호스트에 무단 접근할 수 있는 운영체제와 응용 프로그램의 기본(디폴트) 사용자 이름과 비밀번호를 제거
- 윈도우 호스트에서 자동 실행하는 것을 포함하여 바이너리와 스크립트 자동 실행을 비활성화
> 악성코드가 자주 사용하는 유형의 파일은 자동으로 실행되지 않도록 기본 실행 연결을 변경
- 호스트 강화
> 자주 사용하는 응용 프로그램에서 불필요한 기능을 비활성화
> 워드프로세스와 스프레드시트에 의한 매크로 언어 기능 제한
> 플러그인 설치하지 않도록 구성
E. 위협 완화(Threat Mitigation)
1) 주요 이점과 쟁점
- 조직은 악성코드가 대상에 영향을 미치기 전에 악성코드를 탐지할 필요가 있음
- 대부분의 취약성이 완화되었더라도 위협은 존재 가능
> 사회 공학에 의존한 공격
> 새로운 취약성에 사용할 패치가 없는 경우 ( 제로데이 공격 )
- 위협 완화를 위한 도구 운영
> 백신, 침해 방지 시스템, 방화벽, 콘텐츠 필터링 및 검사, 응용프로그램 화이트 리스팅 등
2) 핵심 고려사항 - 백신
- 가장 일반적인 위협 완화 통제 기술
> 시작 파일과 부트 레코드 등 주요 호스트 구성 요소 검색
> 의심스러운 활동 차단을 위해 실시간 활동 감시(On-Access 스캐닝)
> 일반적인 응용 프로그램 모니터링
> 모든 하드 드라이브에서 알려진 악성코드 정기적 검사(On-Demand 스캐닝)
> 악성코드 외 공격사 도구 식별(스캐닝 도구, 정보 조사 도구, 보안 테스팅 도구 등)
> 악성코드 치료(바이러스), 격리(트로이목마) 등 기능 구성 확인
> 호스트 기반과 네트워크 기반 백신 모두 사용
> 서로 다른 백신 운영을 위한 고려
> 중복되지 않는 악성코드 탐지 시그니처
> 라이선스, 하드웨어 및 소프트웨어 비용 등 고려
> 백신 시그니처 및 백신 자체 취약성 완화를 위한 자동화 운영
> 패치 관리 시스템 운영
> 체계적인 백신 관리를 위한 교육
> 백신이 탐지하지 못하는 알려지지 않은 악성코드에 대한 대응 방안 모색
3) 핵심 고려사항 - 침해 방지 시스템(IPS)
- 패킷 스니핑을 수행하고 네트워크 트래픽을 분석하여 의심스러운 활동을 식별하고 방지
- 일반적으로 인라인 방식으로 배포, 방화벽과 같은 역할을 수행
- 구성 우선 순위에 맞춰 진행
> 보통 방화벽 뒤에 침해 방지 시스템을 구현
> 예를 http와 https만 방화벽에서 허용하면 이 두 프로토콜을 통한 위협을 IPS로 대응
- 기존 악성코드 사례들을 IPS에 반영
> 이슈로 발생한 악성코드 사고의 시그니처를 제작
> 자주 발생하는 사고와 관련된 메타 데이터 기반 시그니처를 작성 - 제목, 첨부파일 이름 등
- NBA(Network Behavior Analysis)에 관한 고찰
4) 핵심 고려사항 - 방화벽 (Firewall)
- 명시적으로 허가받지 않고 들어오는 트래픽을 모두 거부
- 방화벽을 이용하여 네트워크 망분리를 진행
> 특성 부서에서 사고가 발생하면 방화벽으로 해당 부서 격리
5) 핵심 고려사항 - 응용프로그램 화이트 리스팅
- 허가된 응용프로그래만 사용하도록 화이트리스트 작성
- 작성 기술은 감사와 적용 두 가지 관점을 사용
> 적용(Enforcement )모드 - 위협이 높은 환경에서 사용
>> 화이트 리스트에 설정한 응용프로그램 외 모든 실행을 금지
>> 화이트 리스트에 없는 정상적인 응용프로그램도 차단 - 사용자 불편을 초래
> 감사(Audit) 모드 - 위협이 낮은 환경에서 사용
>> 화이트 리스트를 설정한 모든 응용프로글매 외 다른 응용프로그램 실행 허용
>> 화이트 리스트 외 응용프로그램 사용 모니터링 - 사고 시 빠른 침해대응조사 실행
F. 방어 아키텍처(Defensive Architecture)
1) 주요 이점과 쟁점
- 아무리 엄격한 취약성과 위협 완화 노력이 있어도 사고가 발생 가능
- 사고 영향을 줄이기 위해 방어 아키텍처를 고려
> 바이오스 보호
> 샌드박싱 (부분 & 완전 가상화를 통한 분리)
> 브라우저 분리
2) 핵심 고려사항- 바이오스 보호
- 바이오스 펌웨어 수정의 위험성
> 컴퓨터 시스템 영구적 서비스 거부 가능
> 악성코드가 영구적으로 운영 가능
- 이런 위험성이 가능한 이유
> UEFI처럼 통일된 사양을 기반으로 함
- 바이오스 보호와 무결성을 개선하기 위한 지침 제작
3) 핵심 고려사항 - 샌드박싱
- 운영체제나 응용프로그램을 수행할 수 있는 작업을 제한할 수 있는 환경을 의미
- 문제가 발생할 경우 초기 양호한 상태로 재구성할 수 있음
- 이 안에서 동작은 그 외부에 영향을 주지 않아야 함
> 구성한 샌드박싱이 안전하다는 증명이 필요
- 격리 운영하고, 운영되는 모든 행위를 기록
> 향후 침해사고 조사에 충분한 정보를 제공 가능
4) 핵심 고려사항 - 브라우저 분리
- 인터넷 익스플로러가 대부분의 사고의 주범
> 특히 익스플로러의 플러그인이 문제 ( 자바, 플래시 플레이어 등 )
- 일반적인 인터넷은 좀 더 안전한 크롬 브라우저를 사용
- 내부적인 인터넷은 호환성이 좋은 인터넷 익스플로러를 사용
G. 침해사고대응 프로세스
- 절차를 만들면 신속하게 행동할 수 있음
- 침해사고 대응 프로세스는 크게 네 가지 요소로 운영
1) 준비
- 악성코드 관련 기술 구축과 유지
- 담당자와 의사소통 미 조정
- 도구와 자원 지원 및 확보
2) 탐지와 분석
- 악성코드 사고 특성 확인
- 감염된 호스트 식별 ( 포렌식 방법론 적용 고려 )
- 사고 대응 우선순위 설정
- 악성코드 분석
3) 봉쇄
- 사용자 참여를 통한 봉쇄
- 자동 탐지를 통한 억제
- 서비스 비활성화를 통한 억제
- 연결 해제를 통한 억제
- 인수인계 권장 사항
4) 근절
- 복구
- 교훈과 반성
[보안] 01. 악성코드 정의, 악성코드 종류, 감염 위치, 네이밍 스키마
[CCNA] RIP & EIGRP - 개요, 구성, 특징, 검증, 명령어
[Fortinet] Fortigate SNMP 설정, 서버 연동 방법 - FGT 방화벽