유행을 파악하자
이렇게 단문의 수필성 글만 추려내서 지난 내용도 지금처럼 다 실어달라고 해주시는 분이 계셔서
걍 쪽팔림을 무릅쓰고 올립니다(머 썰한 블로그에 데코레이션도 되고요 :p )
필자 메모
강병탁 / window31 (window31@empal.com / www.window31.com)
월간 마이크로소프트웨어 2008년 2월호 ("Code Redirect, Fake Code, Allocate 기법 분석 中)
인생에 있어 ‘유행’이라는 것은 시대에 뒤떨어지지 않는 삶을 영위하기 위해 필수적으로 파악하고 있어야 할 테마라고 생각한다. 일자바지에 이어 힙합바지가 등장하고 힙합바지가 업그레이드 되어 카고바지가 등장했다. 대중 가수는 발라드 가수에서 댄스 가수로 그리고 테크노에서 퓨전으로 점점 다양화 되어 간다. 이 유행에 따라가지 못하는 대중들은 대중음악이라는 문화라는 것에서 멀어져 가게 됨을 느낀다. 유행이 지난 옛 것을 외치려 해 보았자 주변인들에게 외면당할 뿐이다. 하나의 트렌드에 동참하기 위해선 현재의 ‘유행’이 어떤 포인터를 가리키고 있는지 반드시 파악해야 한다.
해킹과 보안 분야도 마찬가지이다. 예전에는 타 프로세스의 나의 코드를 가동하기 위해서는 DLL을 이용해야 했고, DLL Injection이라는 기법 자체가 존경받고 추앙받던 시절이 있었다. 개발자들은 DLL을 사용할 줄은 알았지만 그것을 해킹/보안 분야에서 이런식으로 활용된다는 것은 잘 몰랐으며 누구나 DLL기법에 감탄하곤 하던 때였다. 하지만 요즈음 해커들에게 DLL Injection 기법은 구식 기술이다. DLL을 넣으면 DLL 리스트에 너무도 쉽게 노출되기 때문에 좀더 은밀하게 내 코드를 가동할 수 있는 새로운 ‘유행’으로 전환한 것이다.
예를 들어 요즘의 ‘유행’ 중 하나는 리모트 스레드이다. 타 프로세스에 메모리를 할당해 놓고 나의 코드를 풀어넣은 뒤 리모트 스레드를 돌려버리는 기법이 바로 그것이다. 그렇게 되면 방어하는 입장에선 외형상 해커의 코드를 발견하기가 매우 어렵게 되므로 공격에 좀더 효율적일 수 있다. 이같은 해커들의 ‘유행’을 따라가지 못하는 보안 개발자나 리버스 엔지니어들은 DLL Injection에만 매여 있기 때문에, 좀더 업그레이드된 트렌드를 향유하지 못하게 된다.
이번 FSG 문제도 마찬가지이다. 비록 타 프로세스에 코드를 풀어넣지 않았다 뿐이지, 코드 섹션이 아닌 곳에 메인 코드를 심어놓음으로써 최신 ‘유행’으로의 전환을 보여주었다. 그리고 할당된 코드를 찾지도 못한 분석가는 ‘유행’에 뒤떨어져 있었을 것이며 문화에 동참할 수 없게 되었다. 이처럼 인생의 어떤 분야에서든지 선두 그룹과 함께 달리기를 하기 위해선 현재 ‘유행’의 트렌드를 파악하는 것은 매우 중요하다.
