악성코드와 해킹 이해하기
손무의 '손자병법 모공 편'에서 보면 ‘知彼知己, 百戰不殆, 不知彼而知己, 一勝一負, 不知彼不知己, 每戰必殆(지피지기 백전불태 부지피이지기 일승일부 부지피부지기 매전필태)’라는 구절이 나온다. 이중 ‘지피지기 백전불태’라는 구절이 사람들에게 가장 널리 알려져 있다.
뜻을 풀어 설명하자면 ‘적을 알고 나를 알면 백번 싸워도 위태로움이 없으며, 적을 알지 못하고 나를 알면 한 번 이기고 한 번 지며, 적을 모르고 나를 모르면 싸움마다 반드시 위태롭다’는 뜻이다.
모든 보안조직은 현재 두 개의 적과 싸우는 중이다. 컴퓨터를 마비시키고 작업을 방해하는 악성코드와 중요 정보의 외부 유출을 시도하는 해킹. 그러나 이 두 가지 모두 해커에 의해 제작되거나 수행되는 결과물이란 점에서 최종의 적은 해커인 셈이다.
그런데 해커란 적은 당최 알 수 없는 존재이다. 손자병법을 따르자면 적을 알아야 하지만 우리는 누가 해커인지, 언제 어디서 무엇을 할지, 어떤 생각을 하는지를 미리 알 수 있는 방법이 없다. 그래서 해커를 알고자 하는 대신 그 결과물인 악성코드와 해킹을 분석함으로써 간접적으로 해커에 대해 유추하고 알아내고자 노력하는 것이다. 즉, 보안조직이 악성코드와 해킹을 이해하고 안다는 것은 적과의 싸움에서 위태롭지 않도록 해주는 바탕이 되는 것이다.
더불어 나를 안다는 것이 중요한데 이는 보안조직의 역량, 기업보안의 수준을 제대로 이해하고 적절한 방어전략을 펼칠 수 있어야 함을 뜻한다. 기업 보안의 현황을 냉정하게 평가하지 않으면 해커는 항상 공격수이고 보안조직은 항상 수비수라는 특성상 잘못된 방어전략을 사용함으로써 해커와의 싸움에 패배하기 십상이다.
세상은 바야흐로 만물컴퓨터의 시대로 접어들었다. 온갖 것들이 모두 IT기기로 대체되고 있으며, 이것들은 다 악성코드 감염대상이자 해킹의 대상 즉 해커의 공격대상이다. 기업의 내부환경도 모두 IT기기로 채워지기 시작한 지 오래이며, 다양한 방향에서 해커의 공격에 노출되어 있다. 따라서 보안조직의 구성원들은 적의 공격에 대비하기 위해 반드시라고 해도 좋을 만큼 악성코드와 해킹에 대해 잘 알고 이해하고 있어야 한다. 이때 주의해야 할 것이 있다. 악성코드의 종류나 해킹의 종류, 동작방식 등과 같이 기술적인 영역인 Know-How와 함께 왜 그렇게 공격하는지에 해당하는 Know-Why도 알아야 하기 때문이다.
Know-How는 악성코드나 해킹에 대한 IT기술적인 이해다. 기술적 특성상 어떻게 동작하게 될지 이해하고 있으면 어떻게 움직이게 될지를 미리 예상하고 이를 차단하는 방어하는 전략을 구성할 수 있다.
Know-Why는 해커의 의도(목적)를 이해하는 것이다. 아무 이유도 없이 악성코드를 제작하거나 해킹도구를 제작하거나 해킹을 시도할리는 없기 때문이다. 악성코드나 해킹도구가 그렇게 동작하는 이유가 무엇인지, 기업을 공격하는 해커의 목적이 무엇인지를 알면 무엇을 보호하고 어떻게 방어할 것인지에 대한 전략을 구성할 수 있다.
걱정되는 것은 상당수의 보안인력들이 악성코드와 해킹에 대해 제대로 이해하지 못하는 경우가 의외로 많다는 것이다. 악성코드와 해킹은 알지만 각각의 종류별 어떻게 동작하는지 구체적인 방식에 대한 기술적인 부분은 자세하게는 모르는 경우가 많고, 내부로의 침투와 정보유출을 위해 해킹을 한다는 것은 알지만 왜 그런 방식으로 침투를 시도하는가에 대해 고심하는 모습이 보이지 않는다.
해커의 생각을 읽고 해커가 사용하는 기술을 아는 것은 보안조직이 적에 대응하기 위해 반드시 갖추어야 할 무기이자 소양이다. 그리고 그 시작은 해커의 결과물인 악성코드와 해킹에 대해 제대로 아는 것이다.