리눅스 커널에 트로이 목마 넣으려다 무산 (퍼온글)

바라암의 이미지

신원불명의 한 침입자가 리눅스 커널의 차기 버전에 트로이 목마 코드를 집어넣으려다 실패한 것으로 밝혀졌다. 리눅스 커널 차기 버전은 현재 공개 데이터베이스에 올려져 있다.

Robert Lemos (CNET News.com)
2003/11/08


핵심 커널 개발자중 한명은 6일 “소스코드 레포지토리인 비트키퍼(BitKeeper)의 보안 기능을 통해 이같은 사항을 발견했으며, 이후 공개 데이터베이스를 폐쇄했다”고 전했다.

이 공개 데이터베이스는 리눅스 소스코드를 관리하기 위한 프로그램인 CVS(Concurrent Versions System)의 접속자들에게 리눅스 커널 최신 베타·테스트 버전을 제공하기 위한 용도로 사용되고 있다.

비트키퍼의 주요 개발자이자 소프트웨어 개발업체 비트무버 설립자인 래리 맥보이는 “누군가 리눅스 차기 버전에 보안 결함을 내장시키기 위해 리눅스 코드에 트로이 목마를 삽입하려 했으나 이 시도는 실패했다”면서 리눅스 커널에는 위협이 될만한 아무런 상황도 발생하지 않았다고 전했다.

그는 또 “이 코드는 CVS 트리까지 도달하지 못했다. 데이터베이스를 철저히 관리하는 비트키퍼가 사전에 이를 발견, 차단할 수 있었다”고 말했다.

리눅스의 창시자이자 커널 개발을 이끄는 리누스 토발즈는 커널상의 변경사항을 감시하기 위해 비트키퍼 시스템을 채용했다. 비트키퍼는 커널 변경사항을 공개 데이터베이스나 여타 비공개 데이터베이스들로 내보내는 역할을 한다.

맥보이는 “침입자는 소스코드를 변경시키기 전 서버 하나를 뚫어 액세스 권한을 획득했다”면서 “변경된 소스코드를 설치하게 되면 해당 컴퓨터는 침입자에게 액세스 권한을 내주게 된다”고 설명했다.

비트키퍼가 변경 사항을 발견하기전 24시간에 걸쳐 공개 데이터베이스에 접속한 개발자는 자신의 시스템에 변경된 소스코드가 설치됐을 가능성이 있다. 맥보이는 “발견 후 즉시 변경된 부분을 재수정했다. 시간은 5분 정도가 소요됐다”고 말했다.

비트키퍼는 소스코드를 다른 서버들로 배포하기 전 모든 파일의 무결성을 검토하고 해당 파일의 공식버전과 원격지 서버에 위치한 버전을 비교 확인한다. 트로이 목마는 이러한 확인 과정에서 발견됐다.

이번 소동으로 불특정 다수의 사람이 참여하는 오픈소스 개발 방법을 둘러싸고 보안에 관한 의문이 제기되고 있다. 특히 소스코드를 변경한 개발자가 자신의 코드에는 의도적인 보안 결함이 없음을 어떻게 증명할 수 있느냐 하는 것이 쟁점으로 부각됐다.

MS도 유사한 문제점을 갖고 있지만 독립적인 개발방법을 사용하기 때문에 이번 사고와 같은 방식의 문제가 일어날 소지는 상대적으로 작다.

토발즈는 이와 관련, 커널 메일링 리스트를 통해 “보안을 위해 트리(소프트웨어 레포지토리)에 대한 직접적인 접근은 즉시 알 수 있도록 해야 한다”고 말했다.

한편 CVS에서는 지난 1월 치명적인 보안 결함이 발견된 바 있다. 이번 침입자가 CVS 데이터베이스의 접근권한을 얻기 위해 이 결함을 이용했는지 여부는 아직 알려지지 않았다.

맥보이는 “모든 소스코드 변경사항에 대해 디지털 서명을 기입하는 기능을 추가해야 한다”면서 이에 관한 그동안의 반대 의견들도 이번 사고를 계기로 수그러들 것으로 기대했다. 그는 이어 “오픈소스 개발 모델은 어떤 보안 결함이든 이에 대해 즉시 대응할 수 있다”면서 오픈소스 개발 모델을 옹호했다.

맥보이는 “트로이 목마는 누군가 고의로 집어넣은 버그일 뿐이다. 오픈소스의 보안 모델은 곧 모든 사람이 사용하고, 버그를 발견하고, 고치는 것”이라고 말했다.

침투된 서버의 디스크는 차후 분석을 위해 따로 보관중이다. 수사 의뢰 등 공식적인 대응 절차는 토발즈를 비롯한 커널 핵심인물들에 달렸다. 이와 관련한 토발즈 논평은 즉각 확인할 수 없었다. @