정보 보안이라는 단어를 들으면 보통 개인정보, 비밀번호, 피싱, 해킹, 바이러스를 떠올린다. 개인정보와 비밀번호는 정보 보안의 비식별화, 암호화, 인증과 관련이 있다. 피싱과 해킹은 인증 체계를 우회하는 불법적인 시스템 접근으로 정보를 탈취하거나 조작한다.
바이러스는 컴퓨터에서 실행 중인 파일을 감염시키는 악성 소프트웨어이다. 현재는 바이러스보다 악성코드 (Malicious Software)라는 표현을 주로 사용한다. 바이러스는 악성코드의 하위 개념으로 분류된다. 그 외에도 트로이목마, 웜, 스파이웨어, 애드웨어가 있다. 악성코드 분류는 향후 다른 포스팅에서 다룰 예정이다.
침해사고 이해
침해 사고란 해킹과 같이 인증 체계를 우회하는 불법적인 시스템 접근으로 인해 발생한 모든 사고를 의미한다. 정보 탈취/유출, 조작/변조, 파괴, 방해, 거부 등이 해당되며, 이러한 행위를 사이버 공격, 수단을 사이버 위협이라고 한다. 그리고 공격의 주체를 특정하고 의도와 목적을 분석하는 것이 위협 인텔리전스의 핵심이다.
과거에는 공격자가 직접 수작업으로 공격을 수행했다. 그러나 지금은 자동화 된 형태로 진행되며, 여기에 사용되는 프로그래밍 된 자동화 코드가 바로 악성코드이다. 따라서 악성코드 침해 사고는 악성코드에 의해 발생한 정보 탈취/유출, 조작/변조, 파괴, 방해, 거부 등이 해당된다. 단순 악성코드 감염도 포함된다.
악성코드 침해 사고 대응
악성코드 침해 사고 대응은 일반적으로 악성코드의 유입이 확인되는 순간 시작되며 다음과 같이 진행된다.
- 피해 여부와 피해 범위 확인
- 시스템 분석을 통한 유입 된 악성코드 확인과 확보
- 악성코드 분석을 통한 기능과 감염 원인 확인
- 악성코드 제거 및 시스템 복구
- 감염 원인 보완 조치 진행
- (필요시) 보고서 작성
이 부분도 향후 별도 포스팅으로 다룰 예정이다.
악성코드 침해 사고 대응의 경우 여러가지 기반 지식을 필요로 한다. 컴퓨터와 운영체제에 대한 지식, 디지털 포렌식, 악성코드 분석, 취약점 분석 뿐 아니라 조치 방법과 개선 방법에 대한 지식도 필요하다. 최근에는 이러한 악성코드와 공격자들을 분류하고 의도와 목적을 파악하기 위해 위협 인텔리전스와 프로파일링에 대한 지식도 요구된다. 게다가 분석할 데이터의 크기가 방대해지면서 데이터 엔지니어링과 데이터 분석에 대한 역량도 중요해지고 있다.
과거에 봤던 관련 도서 소개
과거에는 정보보안 관련 도서 자체가 많지 않았던 때가 있었다. 그리고 침해사고 관련 도서들은 더욱 적었다. 그래서 운영체제, 디지털 포렌식, 악성코드 분석, 취약점 분석 등을 전부 따로 공부했다. 심지어 경험적으로는 2010년대 초중반까지도 비슷했다. 모든 내용을 한 번에 다루는 도서를 찾는 것이 쉽지 않았다. 물론 지금도 많은 편은 아니지만, 과거에 비하면 참고할 수 있는 자료가 많은 편이다.
2010년대 초중반 당시에 봤던 책들은 다음과 같다.
인사이드 윈도우즈 포렌식 (윈도우 XP)와 윈도우 포렌식 분석 툴킷 (윈도우 Vista)은 할렌 카비가 저술했다. 오래 된 책이지만 윈도우 기반 악성코드 포렌식을 이해하기에는 아직도 훌륭한 책이다. 악성코드와 멀웨어 포렌식은 카메론 말린, 오언 케이시, 제임스 아퀼리나가 저술했고, 윈도우와 리눅스 기반의 악성코드 감염 시스템 분석과 공격자 프로파일링에 대한 내용을 다룬다. 책의 내용은 지금도 활용할 수 있을 정도로 완성도가 높다.
다른 책들은 리버싱, 포렌식, 악성코드 분석의 자세한 기술에 집중하는 편이었는데, 위의 세 권은 사고 대응 관점에서 포렌식과 악성코드 분석을 다뤄서 굉장히 도움이 되었다.
악성코드 침해 사고 대응 추천 도서 3가지
이번에 회사에서 스터디와 신입 직원 교육을 진행하기 위해 새롭게 도서를 검토했다. 위의 도서들은 특정 운영체제 버전에 종속된 내용이라서 보다 보편적인 도서로 선정하려고 했다. 이러한 기준에 의해 목차를 중심으로 검토하고 선정한 도서들임을 참고한다.
1. 디지털포렌식과 사고 대응 2/e
저자는 제라드 요한센이며 침해 사고 대응과 관련 있는 거의 모든 내용을 다루는 도서이다.
침해 사고 대응과 디지털 포렌식, 악성코드 분석, 인텔리전스 분석까지 모두 다룬다. 사고 대응의 절차, 사고 대응과 관리의 프레임워크, 사고 보고서 작성 방법 등을 소개한다. 침해 사고 대응 부서에서도 대응이라는 단어의 의미를 잘 모르는 경우가 많기 때문에 반드시 봐야 하는 부분이다. 디지털 포렌식의 개념, 디스크 이미징과 분석 방법, 네트워크와 호스트의 증거 수집과 분석 방법, 메모리와 로그 분석 방법 등 시스템 분석에 필요한 거의 모든 내용을 다룬다.
시스템을 분석해서 확보한 악성코드를 분석 하는 방법, 공격자를 특정하고 공격 목적과 의도를 파악하기 위한 전술, 기법, 절차 (TTPs)를 파악하는 위협 인텔리전스를 소개한다. 그리고 마지막으로 포렌식과 악성코드 분석, 위협 인텔리전스를 통합하여 침해 여부를 확인하는 위협 헌팅의 방법과 활용법에 대해 다룬다. CSIRT 관련 업무를 수행하는 부서에서는 반드시 봐야 하는 책으로 판단된다.
악성코드 기반의 침해 사고 대응에 필요한 거의 모든 내용을 포함하고 있다. 따라서 제일 먼저 스터디하기에 적합할 것으로 예상되지만, 모든 내용을 책 한 권에 다뤘기 때문에 내용의 깊이가 얕을 수 있음을 감안해야 한다. 따라서 이 책을 기반으로 앞서 소개한 윈도우와 리눅스 시스템 분석 (필수), 악성코드의 정적 동적 분석, 디지털포렌식, 위협 인텔리전스 분야로 확장해 나갈 것을 추천한다.
초판은 2018년, 개정판은 2021년에 출간되어 현재도 구입 가능하다.
2. 실전 윈도우 악성코드 포렌식
카메론 말린, 오언 케이시, 제임스 아퀼리나가 저자이며, 악성코드와 멀웨어 포렌식과 동일하다.
이 책은 악성코드 침해 사고의 개념과 휘발성, 비휘발성 데이터 수집 방법과 도구를 설명한다. 그리고 윈도우 운영체제에 남겨진 표면적인 흔적들을 찾아내는 라이브 포렌식에 대한 개념을 설명하는 것으로 시작한다. 또한 실행 중인 시스템의 메모리를 덤프하고 분석하는 윈도우 메모리포렌식, 디스크를 이미징하고 윈도우 운영체제를 분석하여 악성코드를 추출하는 방법, 포렌식 관련 미국의 법률적인 내용들을 다룬다.
윈도우의 실행 가능한 파일 형식인 PE 포맷의 악성코드에 대한 외형적인 정보 확인과 패킹 및 난독화 해제, 비실행형 파일(NonPE) 파일 분석을 다루는 파일 식별과 프로파일링 (정적분석) 방법을 소개한다. 마지막으로 가상환경과 샌드박스를 구성하고 악성코드를 직접 실행하여 행위 정보를 추출하는 악성코드 표본 분석 (동적분석)과 악성코드의 계보를 추적하는 프로파일링을 다룬다.
분석 도구 소개에 집중한 ‘악성코드 분석가의 비법서’와 악성코드의 정적 분석과 동적 분석 방법 소개에 집중하는 ‘실전 악성코드와 멀웨어 분석'으로 넘어가기 전에 보면 괜찮을 것으로 보인다. 물론 포렌식 자체에 관심이 생기는 경우 포렌식 전문 도서로 넘어가기에도 무리가 없다.
현재 절판된 상태이기 때문에 중고서점이나 도서관의 도움을 받아야 한다.
3. 실전 리눅스 악성코드 포렌식
이 책도 카메론 말린, 오언 케이시, 제임스 아퀼리나가 저자이며, 악성코드와 멀웨어 포렌식과 동일하다.
앞에서 소개한 ‘실전 윈도우 악성코드 포렌식'과 전체적인 구성이 동일하다. 윈도우 시스템 포렌식과 윈도우 대상 악성코드 분석 대신에 리눅스 시스템 분석과 ELF 포맷의 악성코드 분석을 다루는 점이 다르다.
이 책은 악성코드 침해 사고의 개념과 휘발성, 비휘발성 데이터 수집 방법과 도구를 설명한다. 그리고 리눅스 운영체제에 남겨진 표면적인 흔적들을 찾아내는 라이브 포렌식에 대한 개념을 설명하는 것으로 시작한다. 또한 실행 중인 시스템의 메모리를 덤프하고 분석하는 리눅스 메모리포렌식, 디스크를 이미징하고 리눅스 운영체제를 분석하여 악성코드를 추출하는 방법, 포렌식 관련 미국의 법률적인 내용들을 다룬다.
리눅스의 실행 가능한 파일 형식인 ELF 포맷의 악성코드에 대한 외형적인 정보 확인과 패킹 및 난독화 해제, 비실행형 파일(NonPE) 파일 분석을 다루는 파일 식별과 프로파일링 (정적분석) 방법을 소개한다. 마지막으로 가상환경과 샌드박스를 구성하고 악성코드를 직접 실행하여 행위 정보를 추출하는 악성코드 표본 분석 (동적분석)과 악성코드의 계보를 추적하는 프로파일링을 다룬다.
최근 EDR과 XDR 관련하여 리눅스 시스템 분석에 대한 수요가 많아지고 있는데, 정작 참고할 만한 도서가 없을 정도로 리눅스 계열 악성코드와 시스템 분석 도서는 굉장히 드물다. 한국어로 된 리눅스 악성코드 침해사고 분석 관련 도서로는 거의 유일하지 않을까 할 정도이다. 출간된지 오래된 책이긴 하지만 검토해 볼 만한 가치가 있는 책이다. 악성코드 분석과 침해사고 대응은 기술 변화가 급격한 편은 아니어서, 이 도서를 먼저 접하고 향후 원서 중심으로 찾아보는 것도 괜찮을 것으로 판단된다. 2018년에 출간 된 “실전 포렌식 증거 수집”은 리눅스 시스템에 대한 이미징과 순수 포렌식에 집중되어 있다. 리눅스 환경의 악성코드 기반 침해사고 분석은 위의 도서가 가장 적합해 보인다.
현재 구매 가능한 것으로 판단되는데, 실제 배송이 되는지는 확인이 필요하다.
마치며
일반적으로 침해사고 대응 분야에서 커리어를 시작하는 경우 3~4년차가 넘어가면 전문성에 대한 고민이 많아지게 된다. 수집과 분석 도구에 익숙해지고 비슷한 업무가 반복 됨에 따라 매너리즘에 빠지기 쉽고, 어느 분야로 전문성을 쌓아야 하는지 방향을 잡는 것이 굉장히 어렵다. 회사에서의 업무 절차들은 이러한 이론적 배경이나 베스트 프랙티스에 대한 고려 없이 결정 된 프로세스인 경우가 많을 수 있다.
따라서 이러한 도서들을 통해 침해 사고의 전체 과정을 정석으로 처리하는 방법과, 침해 사고의 다양한 분야를 접하는 것은 매우 중요하다. 그리고 관심이 생기는 방향부터 보안 분야에 특화 된 전문성을 만들어가는 것도 좋은 선택이 될 수 있다. 또는 빅데이터와 자동화와 같이 일반 IT 기술과 결합하거나, 데이터 분석과 위협 인텔리전스 등을 결합하여 자신만의 고유한 영역에서 전문성을 구축해가는 것도 좋은 방법이다.
이제는 좋은 정보보안 도서들이 많아졌기 때문에 참고할 자료들을 찾는 것은 더 이상 문제가 되지 않는다. 침해사고 대응 분야의 중요성은 아무리 강조해도 지나치지 않다. 이러한 도서들을 통해 기본기를 탄탄히 하고 진정한 침해사고 대응 전문가로 성장하는 마중물이 되었으면 좋겠다.
“행동에는 위험과 비용이 따릅니다.
그러나 이는 편안하게 아무런 조치도 취하지 않음으로 인한
장기적 위험보다는 훨씬 적습니다.”
- 존 F. 캐네디