[HACKING] Social Engineering Attack(소셜 엔지니어링) - 스파이 같은 해킹

해킹의 기법은 아주 여러가지가 있습니다. 그 중 유명한 해커인 케빈 미트닉의 강점이자, 스파이들이 할 것 같은 소셜 엔지니어링(Social Engineering)입니다.

Social Engineering?

해킹/보안 하시는 분이라면 꼭 알고 있고, 중요하게 생각하는 부분이 바로 소셜 엔지니어링입니다. 보안의 고리 중 가장 약한 부분이 사람이라고 하죠. 이 부분을 공격하는 것이 바로 소셜 엔지니어링입니다.

공격자는 필요한 데이터를 얻거나 접근을 하기 위해서 심리적인 속임수를 이용하여 사람을 속입니다. 이러한 방법은 기술적인 해킹이 가질 수 없는 영역이고, 기술적인 해킹으로 얻어낼 수 없는 데이터나 정보를 찾아낼 수도 있습니다.

그만큼 굉장히 중요한 부분이지만, 실제로 공격을 막을 대비도 잘 안되어있는 곳이 많고 그 공격을 수행할 대담한 공격자고 적습니다. 그렇지만 꼭 막아야할 부분이겠죠.

그럼 이 공격은 왜 일어나게 될까요? 고민을 하다보니 몇가지 원인이 생각나네요. 제가 생각한 것 이외에도 이유가 있으면 언제든 댓글로 주세요.

첫번째는 바로 권위, 권력입니다. 조직에서 일하는 사람은 권력과 권위에 두려움을 느끼게 됩니다. 나보다 높다고 생각되는 사람에게 부탁을 받거나 긴급한 일이라고 요청하게 된다면 사람은 두려움을 느껴 정확한 판단을 하기 어렵게 됩니다. 이러한 부분이 Social Engineering에 취약하도록 만드는 것 같네요.

두번째는 인식입니다. 회사, 조직에는 보안을 담당자는 부서도 있겠지만 다른 부서들도 존재합니다. 이들은 자신의 행동이 얼마나 위험한 행동인지 인식하지 못하는 경우가 많습니다. 예를 들어 회사 업무로 인해서 어떠한 명령을 쳐서 그 결과를 달라고 한다고 합니다. 보안이나 SE들은 의심을 하고 스크립트를 실행하지 않거나, 스크립트 내용을 확인하겠지만 이를 잘 모르는 직원은 복잡해 보이기 떄문에 공격자가 원하는 요청을 수행할 수 있습니다. 이렇게 인식이 잘 잡혀있지 않다면 Social Engineering에 취약할 수 있지요.

마지막으로 습관입니다. 사실 이것을 넣을까 말까 좀 고민했었습니다. 그래도 제 생각에는 중요한 부분으로 보여서요. 습관은 참 무서운겁니다. 무의식적으로 행동을 취할 수 있는데, 이것이 굉장히 위험한 작용을 할 수도 있지요. 사람에 대해 분석한 공격자는 습관을 이용하여 많은 정보를 취득하거나 접근을 따낼 수 있습니다.

그럼 대표적인 Social Engineering 기법에 대해 알아볼까 합니다.

Phishing [Computer Base]

소셜 엔지니어링은 사람을 매개체로 한 공격입니다. 대다수가 사람의 실수나 마음을 이용한 공격이지만 하나 Computer 가 Base 가 되는 공격이 있습니다. 물론 이 공격도 결국은 사람의 마음을 이용하지만요..

바로 피싱공격(Phishing)입니다. 스미싱, 피싱전화 등등 일반인에게도 익숙한 단어일테고 실제로 생각하시는 그 의미가 맞습니다. 공격자가 E-mail이나 웹 게시글 등을 이용하여 악성코드를 퍼뜨리거나 침투하는 공격이죠.

대표적으로 스팸메일(Spam-mail), 문자 스미싱이 있겠지요.

Dumpster Diving [Human Base]

Dumpster Diving은 쓰레기통을 뒤져서 정보를 얻는 방법입니다. 회사나 어떤 중요한 정보를 취급하는 곳은 꼭 문서 파쇄기가 있습니다. 정확하게 분쇄되지 않은 문서, 그냥 버려진 종이 등을 통해 공격자는 많은 정보를 얻어갈 수 있습니다.이 것이 문서 보안의 중요성이 되지요. Dumpster Diving은 버려진 종이,문서 등을 통해서 내부 정보를 얻어냅니다.

영화 같은데서 보면 주인공이나 악당이 잘려진 문서의 조각조각을 맞추고 큰 힌트를 얻어 사건을 해결하는 장면들이 나오기도 합니다. 이 기법은 그러한 방법입니다.

Impersonation [Human Base]

(border=undefined) 번역으로는 분장을 의미하지요. 바로 타인을 사칭하거나 위장해서 내부에 침투하는 방법입니다.위장보다는 사칭의 개념이 더 가깝겠네요. 거래처나 내부 직원인 척 타겟에 접근하여 정보를 탈취하거나, 악성코드를 심어놓게되는 경우이지요.

전에 케빈 미트닉이 였던거 같네요.. 수감 생활 중 컴퓨터 사용에 대한 제지를 받았는데, 이런 방법을 이용해서 해킹을 했다고 봤던 것 같습니다. 시나리오를 하나 만들면 이런식으로 가능할 것 같네요.

공격자는 Footprinting을 통해 회사의 정보, 조직도 등을 알아내고 내부자 이름정도까지 알아냈다고 하겠습니다. 이제 원하는 타겟의 내선전화로 전화를 겁니다. 그 다음 다른팀의 누구라 하고 시스템 정보나 패스워드 정보를 얻어낼 수도 있겠죠. (이왕이면 높은분..ㅋㅋ)

Technical Support [Human Base]

이 방법은 기술 지원 인력을 사칭하거나 기술 지원을 해준다는 이야기로 정보를 빼가는 수법입니다. 기술지원은 네트워크 내 직접 연결되거나 해당 장소로 접근할 수 있기 때문에 매우 위험합니다.

이런식으로 접근한 후 악성코드를 심거나 USB를 통해 데이터를 뺴가는 둥 행위를 할 수 있습니다. 자세한건 아래 링크 참조하시면 좋을 것 같네요 : )

http://www.social-engineer.org/framework/general-discussion/common-attacks/tech-support/

Shoulder Surfing [Human Base]

Shoulder Surfing은 어깨너머로 들여보는 방법입니다. 실제로 일상 생활에서도 많이 쓰이는 방법이죠(?) 어깨 너머로 모니터를 봐서 패스워드를 확인한다던가 중요한 정보를 가로챌 수 있는 방법이죠.

 
 

Tailgating / Piggybacking[Human Base]

Tailgating 또는 Piggybacking은 몰래 따라들어가는 방법이죠. 대체로 중요한 정보를 취급하는 곳, 또는 회사 입구 등 물리적인 보안 장치들이 많이 존재합니다. 그런 장치들을 우회하는 방법 중 하나죠.

일반적으로도 많이 사용하는 방법입니다. 단지 그게 TailGating이라고 인지하지 못할 뿐이죠. (가끔씩 따라서 훅 들어가면 지인들이 Tailgating 한다고 뭐라 한다죠)

petri.com에 있던 글에 있는 이미지가 가장 내용을 잘 표현해줄수 있을 것 같네요.

(style=undefined)
https://www.petri.com/wp-content/uploads/01-tailgating.png

Insider

Insider는 직역하면 내부자를 의미합니다. 기업에서도 내부자 보안에 대한 정책이 상당히 많습니다. 그만큼 외부인보다 더 Acceess가 자유롭고 한정적이지만 인가된 권한 안에서는 매우 자유롭지요. 그런 내부자가 직접 유출할 시 유출되는 데이터도 크고 쉽게 찾기도 어렵습니다. 예전에 발생했었던 개인정보 유출 사건들 중 내부자로 인한 사건도 있었습니다. 최근에도 해외 사례에서 한건 있었던 것 같습니다.

이처럼 Social Engineering에 대해 정리해봤습니다. 각각 항목은 물리적인 보안, 내부자 교육 등의 행위로 어느정도 보안성을 유지할 수 있지만, 그래도 항상 조심해야겠지요.