🫵 책임추적성 (Accountability)
- 다른 사람들에게 민감한 자원이나 정보에 대해 접근을 허용할 때, 사용하는 것에 대한 책임을 지도록 할 필요가 있다.
책임추정성
--- 식별, 인증, 인가, 접근
- 식별, 인증, 인가 과정을 성공적으로 수행했거나 수행 중일 때, 그 과정 동안 발생하는 활동들을 추적해야 한다.
- 어떤 주체에게 자원에 접근하는 것을 허락했더라도, 그들이 규칙에 따라 행동해야 한다.
- 책임추적성을 보장하기 위해
감사
를 수행한다 - 정책 준수, 보안 아키텍처, 응용 프로그램 설정, 개인적인 행동 등에 대하여.
책임추적성의 보안 이점들
시스템과 네트워크를 감시, 로깅함으로써 높은 보안 수준을 유지하는 데 사용할 수 있다.
부인방지
: 개인이 만든 서류, 취한 행동들을 부인하지 못하게 할만큼 충분한 증거가 존재하게 된다.
- 시스템 또는 네트워크 로그에서 직접 활동 증거 찾아내기
- 시스템 또는 관련 장치의 디지털 포렌식 조사로 증거 복구
- 파일 전송 시 암호화 기술을 사용하여 부인방지 설정(해시 함수로 디지털 방식 서명 등)
예) 시스템 밖으로 보내는 모든 이메일에 디지털 서명을 함으로써 자신이 보낸 메시지를 부인하지 못하게 하는 시스템
억제
: 감시받는 사실을 알고, 규칙을 어기면 처벌이 있을 것이라는 것을 안다면, 규칙을 어기기 전에 한 번 더 생각할 것이다.
- 예) 회사 출입 신분증의 접속 시간 기록 - 출퇴근카드 위조, 부당한 추가 임금 지급 방지
- 억제의 핵심 : 억제하고자 하는 사람들이 자신의 행동에 대한 책임을 지게 될 것임을 알게 하는 것
침입탐지 및 방지
: 논리적/물리적 침입을 탐지하고 방지
- 비정상적인 활동에 대해 경고를 하고 정기적으로 로깅 정보를 점검하면, 진행 중이었던 공격은 탐지하고 준비 중이었던 공격은 사전에 막을 수 있다.
- 공격은 1초 이내로 순식간에 발생한다. 따라서 자동화된 보안 도구들을 운용하는 것이 좋다.
침입탐지시스템
(Intrusion Detection System) : 공격이나 바람직하지 않은 활동이 발생하고 있음을 알려주는 역할(감시, 경고)
침입방지시스템
(Intrusion Prevention System) : 종종 침입탐지시스템이 전달하는 정보를 토대로 작동, 실제로 환경에서 무엇이 발생하고 있는지 기초하여 조치를 취한다. 네트워크를 통한 공격에 대응하여 공격자의 트래픽을 거부한다.
기록의 허용성
: 법정에 기록물 제출 시 일관성있고 통제된 추적 시스템에서 생성된 기록물이어야 잘 받아들여질 수 있다.
- 예) 법정에 제출하기 위해 모아둔 디지털 포렌식 증거들 - 견고하고 문서화된 연계보관성(chain of custody)을 제공할 수 없다면 채택되지 않을 것
- 증거가 모든 시간에 걸쳐 어디에 있었는지, 얼마나 정확하게 다른 사람에게 인계되었는지, 저장되어 있는 동안 어떻게 보호되었는지 등을 보여줄 수 있어야 한다.
책임추적성을 달성하는 방법
- 규정을 정하고 규정에 따르도록 요구하는 것 + 추가 조치
- 예) 법 집행 - 절도, 상해, 안전한 차량 운행 등 법 제정 + 사전예방, 사후조치를 통해 법률을 따르게 하기 위해 경찰이 있다.
🕵️ 감사 (inspection)
감사
: 체계적인 조사 및 검토
- Merriam-Webster's Dictionary of Law
- 기술적 수단을 활용하여 책임추적성을 보장하는 방법 중 하나는, 누가 무엇을 언제 했는지 정확한 기록들을 유지하는 것이다.
- 감사를 하는 이유 중 하나는, 책임추적성을 실현할 수 있는 데이터를 제공하기 때문이다. 일정 기간 동안 활동을 평가할만한 능력이 없다면, 대규모의 책임추적성을 가능하게 할 능력 또한 없다.
무엇을 감사하는가?
- 법규 및 정책을 준수했는가에 초점을 맞추어 검사할 수 있는 많은 항목들이 있다.
- 주로 시스템으로의 접근, 시스템으로부터의 접근을 보지만, 종종 물리적 보안 등 다른 분야로도 감사를 확장하기도 한다.
- 보편적인 감사 항목
- 비밀번호 : 비밀번호가 강력한가? 자주 변경하는가?
- 소프트웨어 라이센스 : 조직이 소유하는 시스템에 있는 모든 소프트웨어가 적절한 라이센스를 받았는가?
- 인터넷 사용 : 인스턴트 메시징, 이메일, 파일 전송, 기타 거래활동 등 - 프록시 서버들을 구성해서 모든 트래픽들을 잠재적으로 필터링, 로깅, 스캐닝
- 민감한 성질의 데이터
- 의료 데이터 등 법적으로 보호가 요구되는 데이터는 보안 수단이 실행되고 있는지 보장해야 한다.
- 데이터의 보존 기간
- 데이터에 대한 접근이 허가된 방식으로 수행되는지
- 데이터가 더 이상 필요 없을 때 안전하게 폐기되는지 등
로깅 (Logging)
: 접속된 환경에서 발생하는 활동들의 기록을 보여주는 것
- 보통 운영체제가 자동으로 로그를 생성한다.
- 컴퓨터에 연결되어 있는 장치뿐 아니라 컴퓨터, 네트워크, 통신장비에서 발생하는 활동들을 추적한다.
- 로깅은 사후조치 도구이다 : 사건 발생 후 무슨 일이 발생했는지 확인할 수 있다.
사건 발생에 즉각 반응하려면 침입탐지시스템, 침입방지시스템과 유사한 도구들을 이용할 필요가 있다.
- 일반적으로 시스템의 관리자만 로그를 검토 목적으로 이용할 수 있고, 시스템의 사용자는 수정할 수 없다.
- 로그 내용을 검토하지 않는다면 처음부터 수집하지 않는 게 낫다. 로그를 정기적으로 검토하는 계획을 세우는 것이 중요하다.
감시
: 다양한 장치에 의해 생성되는 로그에서 수집되는 데이터에 기반해서 조치를 취하는 반응 활동
- 감시는 감사의 일부분이다.
- 고장, 자원 부족, 보안 문제와 같은 상황, 이러한 상황을 발견하기 위해 환경에 대한 정보를 관찰하는 것에 초점을 둔다.
- 컴퓨터 자원 사용, 네트워크 지연 시간, 인터넷에 노출되는 네트워크 인터페이스를 갖는 서버에 - 반복적으로 발생하는 특정 공격 유형, 하루의 예외적인 시간에 물리적인 접속 제어를 통과하는 트래픽 등 - 수집되는 특정 데이터 항목들을 감시
- 보통 수준 이상으로 발생하는 활동에 대해서 시스템 관리자/물리적 보안 담당자에게 경고를 보내거나, 특정 IP 주소에서 발생하는 트래픽을 기각시키거나, 중요한 서버를 백업 시스템으로 전환하거나, 수사관 호출 등과 같이 직접적인 조치들을 할 수도 있다.
평가
- 감사는 어떤 경우에 정책을 준수하고 정상 작동하는지 조사하는 것보다 적극적인 조치를 할 수도 있다. 이 경우 환경의 취약점을 검토하면 유용할 수 있다.
취약점 평가
: 네서스(Nessus)와 같은 취약점 스캐닝 도구를 사용 - 목표 시스템에 어떤 포트가 열려있는지 알기 위해 시스템을 스캔, 각 포트들이 정확히 어떤 서비스를 수신하기를 대기하는지
침투 테스트
: 보다 적극적인 방법, 실제 공격자가 사용하는 기술들을 모방하기 위해 노력해야 함 - 근처 사용자나 다른 시스템으로부터 표적 환경에 대해 추가 정보를 얻으려는 시도, 웹 기반 응용 프로그램/웹으로 연결된 데이터베이스들의 보안 결함 이용, 애플리케이션/운영 시스템의 패치되지 않은 취약점 공격 시도 등
- 궁극적 목표 : 해커가 공격하기 전에 취약점을 발견하고 고치는 것!