728x90

Unix 시스템상의 두 ‘프로세스’가 서로 Unix상의 자원을 사용하기 위해 다투는 과정을 나타내는 말이다. Unix시스템은 여러 명의 유저가 여러 개의 프로세스를 동시에 실행할 수 있도록 하는 멀티유저 • 멀티프로세싱 시스템이지만, 사실은 한 번에 하나의 프로세스만를 실행하는 것이다. 즉, 시스템을 사용하는 시간을 잘게 쪼개어 서로 나누어 가지므로 동시에 실행되는 것처럼 보이는 것이다.

이렇듯 내부적으로는 시간분할. 즉, Time sharing이 이루어지고 있는데, 이것이 항상 균등하게 이루어지지는 않으므로 서로 시간을 차지하기 위해 다투는 꼴이 된다.

이 성질을 이용하여 Unix 내에서 실행되는 프로세스 중에 임시로 파일을 만드는 프로세스가 있을 겅우 이 프로세스의 실행 중에 끼어들어 그 임시파일을 전혀 엉뚱한 파일(예를 들면 .rhosts)과 연결하여 백도어를 만들 수 있는 것이다. 재미있는 것은 이 해킹방식은 그야말로 운에 따른 것으로 Race condition 상태에 따라 성공할 수도 실패할 수도 있다.

+ Recent posts