상세 컨텐츠

본문 제목

[제품 및 기술] 엔드포인트, 어떻게 보호하나요?

보안 이야기/제품 및 기술

by Foreverspin 2021. 12. 27. 11:12

본문

엔드포인트, 어떻게 보호하나요?

 

지난 포스팅에서는 우리가 사용하는 모든 스마트 기기가 엔드포인트이며, 해커가 목적 달성을 위해 가장 먼저 공격을 시작하는 지점이라는 것을 설명드렸는데요. 그래서 스마트 기기에 둘러쌓인 우리의 삶은 이전보다 편리하고도 위험해졌다고 할 수 있습니다. 오늘 포스팅에서는 과연 이 중요한 엔드포인트를 보호하기 위해 현재 어떤 기술이 쓰이고 있는지, 현존하는 기술들의 한계점은 없는지 알아보겠습니다!

 

 

 

 

엔드포인트를 보호를 위한 기술들

프로그램을 구성하는 소스코드는 인간이 컴퓨터에게 명령하기 위해 컴퓨터가 알아듣는 언어로 쓴 명령어라고 할 수 있습니다. 해킹이란 해커가 이 언어를 분석하고 조작해서 정보를 캐내고, 자신이 원하는 시스템의 오작동을 일으키는 일련의 과정을 말하는데요. 해커는 네트워크의 끝인 엔드포인트에서부터 소스코드 분석과 변조를 거듭하며 시스템의 더 깊숙한 곳으로 침입합니다. 해커의 엔드포인트 분석과 변조를 막기 위한 기술에는 대표적으로 아래 세가지 기술이 쓰인답니다.

 

 

1. 암호화

암호화는 해킹을 막아보고자 보안 기술자들이 처음으로 고안한 방법이라고 해요. 프로그램 소스 코드를 해커가 읽을 수 없는 형태로 바꾸는 것인데요, 이렇게 암호화된 코드는 컴퓨터 또한 읽을 수 없다는 문제점이 있습니다. 그래서 암호화한 코드를 실행하기 위해서는 반드시 복호화 과정을 거쳐야 합니다. 하지만 복호화된 코드를 실행하는 중에는 원본형태의 코드가 그대로 노출되어 해커에게 분석되고 변조될 수 있다는 치명적인 단점이 있습니다.

 

2. 난독화

난독화는 원본 소스코드를 복잡하게 만드는 기술입니다. 아예 코드를 알아볼 수 없게 만드는 암호화와 달리, 원본 코드의 로직은 그대로 둔 채, 이해하기 어렵게 변형시키는 방법입니다. 사람의 언어에 빗대어 난독화를 설명해본다면 다음과 예를 들어볼 수 있겠어요. “오늘 아침 노량진을 지나던 지하철 1호선이 고장났다”와 같은 문장을 “조선시대 9대 간선로 중에서 충청도와 전라도 방면으로 향하는 서울과 과천·시흥을 연결해 주던 구실을 하던 간선로의 길목, 노도진이라고도 불리우던 이 나룻터, 교통의 요지에 위치하던 나룻터여서 사람들의 이용이 많았던 곳에 1899년 보통역으로 영업을 개시한 역에서, 세워진지 122년 남짓 된 어느 이른 겨울 오전, 의정부와 천안을 잇는 수도권의 전철이 꼼짝않고 멈춰버린 사건이 일어났다.” 로 바꾸는 겁니다.

이처럼 문장의 원 뜻은 변하지 않았지만, 간단한 말이 아주 길고 지루한 문장으로 바뀌었습니다. 이와 비슷한 과정을 소프트웨어의 코드에 적용시킨 것이 난독화인데요. 난독화가 적용되면 해커도 코드를 분석하는 시간이 오래 걸리겠지만, 컴퓨터가 프로그램을 읽어들이는 시간도 늘어나게 되어 프로그램 실행이 더뎌지게 됩니다. 또, 해커가 코드를 이해하는데 걸리는 시간이 늘어난다는 장점이 있지만, 분석 자체를 막지 못하는 한계도 있지요.

 

3. 코드 무결성 검증 

해커의 분석 시도 및 이미 변조된 코드가 실행되는 것을 적극적으로 막고자 고안한 기술이 “코드 무결성 검증” 기술입니다. 별도로 설치된 보안 프로그램이 사용자 프로그램의 원본 코드를 기억하고, 이 원본이 변경되면 사용자 프로그램의 동작을 차단하는 방식인데요. 그럼 이 방법은 사용자 프로그램 코드의 분석과 변조가 반드시 발견되므로 안전할까요?

정답은 슬프게도 “얼마든지 해킹될 수 있다” 입니다.

 

코드 무결성을 검증하는 보안 프로그램도 결국은 프로그래밍 언어로 만들어져 있을 수밖에 없는데요, 해커가 보안프로그램의 코드를 먼저 읽고 분석해서 이를 무력화시킨다면 보안 기능이 작동할 수 없게 되고, 엔드포인트는 또 다시 위험에 노출되고 만답니다.

 

아니 그러면, 도대체 어떻게 엔드포인트를 안전하게 지킬 수 있는거죠?

이렇게 봐도 저렇게 봐도 어려운 걸, 에버스핀이 해냈다는데요!!!!!

 

에버스핀은 도대체 어떻게 이 문제를 해결했는지,

다음번 포스팅에서 알아보겠습니다. 

 

 

 

 

 

관련글 더보기

댓글 영역