논리폭탄 (Logic Bomb)

정보보안학
한 줄 정의: 특정 조건(날짜, 이벤트, 사용자 행동 등)이 충족될 때까지 잠복해 있다가 조건이 만족되는 순간 악성 동작을 실행하도록 설계된 코드입니다.

쉽게 풀면

정해진 시각에만 터지도록 설정된 시한폭탄을 떠올려 보세요. 논리폭탄은 평소에는 정상 프로그램의 일부처럼 조용히 숨어 있다가, 미리 정해둔 조건이 충족되는 순간에만 파괴적인 동작을 실행합니다. 예를 들어 특정 날짜가 되었을 때, 특정 파일이 삭제되었을 때, 혹은 특정 사용자 계정이 시스템에서 사라졌을 때와 같은 조건을 트리거로 사용할 수 있습니다.

왜 중요한가

논리폭탄은 내부자에 의해 정상 시스템이나 애플리케이션 코드 안에 은밀히 삽입되는 경우가 많아, 외부 침입 탐지 체계만으로는 발견하기 어려운 내부자 위협(insider threat)의 대표적 사례로 다루어집니다. 이 때문에 코드 리뷰, 소스코드 무결성 검증, 접근 통제와 같은 예방적 보안 관리가 함께 논의됩니다.

논문에서는 이렇게 쓰입니다

"본 사례 연구는 퇴사 예정 직원이 삽입한 논리폭탄이 특정 날짜에 회사 서버의 핵심 데이터를 삭제하도록 설계되었음을 확인하였다."

내부자에 의한 논리폭탄 삽입 사례를 다루는 문장입니다.

"제안하는 정적 분석 도구는 조건부 파괴 행위를 나타내는 코드 패턴을 탐지하여 잠재적인 논리폭탄을 사전에 식별한다."

논리폭탄을 사전에 탐지하기 위한 연구 방향을 보여주는 문장입니다.

조금 더 깊게 보면

논리폭탄은 흔히 조건문(if 등)의 형태로 정상 코드 안에 삽입되며, 트리거 조건이 만족되기 전까지는 정상적인 프로그램과 동일하게 동작하기 때문에 실행 로그만으로는 사전 탐지가 어려운 경우가 많습니다. 트로이 목마나 웜과 결합되어 전파 후 특정 시점에 동시에 발동하는 형태로 활용되기도 합니다.

주의할 점

논리폭탄은 반드시 외부 공격자의 소행이 아니라, 정당한 접근 권한을 가진 내부자가 심는 경우도 많다는 점에서 일반적인 악성코드와 위협 모델이 다를 수 있습니다.

관련 용어