허니팟
더 많은 작업
- Honey Pot (꿀단지)
- 해커를 유인하기 위해 고의로 취약한 서버를 만들어 이를 모니터링하는 시스템
- 공격자의 공격 경로와 공격 수법을 알아내기 위한 목적으로 사용한다.
- 취약점에 대한 패치 이전에 발생하는 제로데이 공격(Zero-Day Attack)을 탐지하기 위한 목적으로 사용된다.
- 이러한 허니팟으로 네트워크를 구성한 것을 허니넷(Honeynet)이라고 한다.
허니팟은 정상 사용자가 쓸 이유가 없는 시스템이므로, 여기에 들어오는 접근은 거의 모두 탐색이나 공격으로 볼 수 있다. 그래서 일반 침입탐지시스템보다 오탐이 적고, 시그니처가 없는 새로운 공격도 행위 자체로 드러난다. NIST SP 800-53 Rev.5는 이를 미끼(decoy) 통제(SC-26)로 다루며, 허니팟·허니넷·기만 네트워크(deception net)를 공격자를 끌어들여 실제 업무 시스템에서 공격을 돌리고, 공격을 탐지·분석하기 위한 구성 요소로 설명한다.
- 적당히 해킹이 가능한 것처럼 취약해 보여야 한다.
- 해커에게 쉽게 노출되어야 한다.
- 시스템의 모든 구성요소를 갖추고 있어야 한다.
- 시스템을 통과하는 모든 패킷을 감시해야 한다.
허니팟은 공격자에게 얼마나 실제와 같은 환경을 내주는지에 따라 나뉜다.
| 구분 | 저상호작용(low-interaction) | 고상호작용(high-interaction) |
|---|---|---|
| 구현 | 서비스·운영체제를 흉내 내는 에뮬레이션 프로그램(로그인 화면, 배너, 일부 명령 응답) | 실제 운영체제와 애플리케이션을 그대로 설치한 시스템 |
| 얻는 정보 | 접속 출발지, 스캔 패턴, 시도한 계정·비밀번호, 자동화 공격 동향 | 침투 후 행동, 사용 도구, 권한 상승·측면 이동 기법, 악성코드 샘플 |
| 구축·운영 비용 | 낮음. 대량 배치 쉬움 | 높음. 분석 인력과 정교한 감시 필요 |
| 위험 | 낮음. 공격자가 실제 시스템을 얻지 못함 | 높음. 장악된 허니팟이 다른 시스템 공격의 발판이 될 수 있음 |
| 탐지 가능성 | 숙련 공격자가 가짜임을 알아채기 쉬움 | 알아채기 어려움 |
| 주 용도 | 내부망 조기 경보, 대규모 위협 동향 수집 | 공격 기법 연구, 위협 인텔리전스 생산 |
둘 사이에서 일부 기능만 실제처럼 동작하는 중간 수준(medium-interaction)으로 구분하기도 한다.
허니넷(honeynet)은 여러 허니팟을 실제 망처럼 엮은 네트워크다. 웹 서버, DB 서버, 사용자 PC 역할의 허니팟을 함께 두면 공격자가 한 시스템에서 다른 시스템으로 이동하는 과정까지 관찰할 수 있다. 허니넷 운영의 핵심 구성은 다음과 같다.
- 데이터 통제(data control): 허니넷에서 밖으로 나가는 트래픽을 제한해, 장악된 허니팟이 외부나 운영망 공격에 쓰이지 않게 한다. 공격자가 눈치채지 않을 정도로만 허용하고 나머지는 차단·속도 제한한다.
- 데이터 수집(data capture): 공격자 몰래 모든 패킷, 키 입력, 실행 파일을 기록한다. 기록은 허니넷 밖의 안전한 곳에 저장한다.
- 데이터 분석: 수집한 자료로 공격 흐름과 도구를 분석하고 위협 인텔리전스로 만든다.
운영망과는 물리적·논리적으로 분리하고, 운영망과 같은 계정·비밀번호·데이터를 쓰지 않는다. 실제 운영 데이터 대신 그럴듯한 가짜 데이터를 넣는다.
허니토큰(honeytoken)은 시스템 전체가 아니라 데이터 조각을 미끼로 쓰는 방식이다. 정상 업무에서는 쓰이지 않으므로 사용되거나 접근되는 순간 침해 신호가 된다. MITRE D3FEND도 미끼 파일(Decoy File), 미끼 사용자 자격 증명(Decoy User Credential) 같은 기만 기법을 방어 기법으로 정리하고 있다.
| 허니토큰 예 | 탐지하는 상황 |
|---|---|
| 고객 DB에 넣은 가짜 고객 레코드 | 그 레코드가 외부에 유출되거나 조회되면 DB 유출·내부자 조회를 인지 |
| 디렉터리에 만든 사용되지 않는 관리자 계정 | 로그인 시도가 있으면 계정 목록 탈취와 무차별 대입 탐지 |
| 코드 저장소·설정 파일에 넣은 가짜 클라우드 접근 키 | 키 사용 시도가 있으면 저장소 유출 탐지 |
| "급여 명세.xlsx" 같은 이름의 미끼 문서 | 열람되면 내부 탐색 행위 탐지 |
허니토큰은 비용이 거의 들지 않고 오탐이 매우 적어, 대규모 허니넷을 운영하기 어려운 조직에서도 쓸 수 있다.
| 구분 | 유인(enticement) | 함정(entrapment) |
|---|---|---|
| 의미 | 이미 범행 의사가 있는 사람이 스스로 들어오도록 취약해 보이는 대상을 노출하는 것 | 범행 의사가 없던 사람을 적극적으로 부추기거나 속여 범행하게 만드는 것 |
| 예 | 인터넷에 노출된 허니팟, 매력적인 이름의 미끼 파일 | "이 서버를 해킹하면 보상을 준다"는 게시, 접속 방법과 비밀번호를 적극적으로 알려 침입을 유도 |
| 평가 | 일반적으로 허용되는 방어 기법 | 형사 절차에서 문제될 수 있고, 수집한 증거의 효력과 조직의 법적 책임이 다퉈질 수 있음 |
그 밖에 다음 쟁점도 있다.
- 개인정보와 통신 감시: 허니팟도 공격자의 통신 내용과 출발지 정보를 수집하므로, 관할 법률상 수집 근거와 보관 기간을 검토한다.
- 제3자 피해 책임: 장악된 허니팟이 다른 조직 공격에 쓰이면 운영 조직이 책임을 질 수 있다. 데이터 통제가 필요한 이유다.
- 반격 금지: 허니팟에서 얻은 정보로 공격자 시스템에 역으로 침투하는 것은 그 자체가 불법 행위가 될 수 있다.
- NIST SP 800-53 Rev.5도 미끼 사용 목적에 따라 배치 전에 법무 조직과 협의가 필요할 수 있다고 언급한다.
- 발판 위험: 고상호작용 허니팟이 장악되어 운영망이나 외부 공격에 쓰일 수 있다. 운영망과 분리하고 나가는 트래픽을 통제한다.
- 정체 노출: 공격자가 허니팟임을 알아채면 거짓 정보를 흘리거나 피해 간다. 지나치게 허술하거나 지나치게 조용한 시스템은 의심받는다.
- 관리 부담: 기록을 분석하지 않는 허니팟은 위험만 있고 효과는 없다. 경보를 SIEM과 연계하고 분석 책임자를 정한다.
- 오용 우려: 허니팟 존재가 내부에 널리 알려지면 효과가 떨어지므로, 정보는 필요한 인원에게만 알린다. 반대로 정상 관리 도구(자산 스캐너 등)가 허니팟을 건드려 경보가 울리지 않게 예외를 관리한다.
- 허니팟은 공격자를 유인해 탐지·분석하고 실제 시스템에서 공격을 돌리는 미끼 시스템이다. 허니팟에 대한 접근은 거의 모두 의심 대상이므로 오탐이 적다.
- 유인(enticement)은 허용되고 함정(entrapment)은 문제가 된다. 범행 의사가 없던 사람을 부추기는 선택지는 오답이다.
- 허니팟은 운영망과 분리하고, 실제 데이터를 넣지 않으며, 밖으로 나가는 트래픽을 통제해야 한다.
- 고상호작용은 정보가 많지만 위험이 크고, 저상호작용은 안전하지만 정보가 적다.
- 허니팟 운영 전 법무 검토를 거치는 것이 경영진 관점의 정답에 가깝다. 허니팟 정보를 이용한 반격은 오답이다.
- 허니토큰은 데이터 조각을 미끼로 써서 유출과 내부 탐색을 탐지한다.
- 2021년도 국가공무원 9급 공채 필기시험 정보시스템 보안 나형 1번 문제
- NIST SP 800-53 Rev.5, Security and Privacy Controls for Information Systems and Organizations (SC-26 Decoys) – NIST
- Honeypot, CSRC Glossary – NIST
- MITRE D3FEND, Decoy File – MITRE