Social Engineering에 대한 생각..

2017. 12. 8. 05:030x06 Malware

728x90

새벽에 공부하다가 잠시 휴식하면서 사회공학에 대해 생각해 보는 시간을 가졌다. 


요즘 많은 악성코드들은 "사회공학"이라는 키워드와 함께 공존하고 있다. 


사회공학은 기술적인 방법이 아니라 "상대방의 신뢰를 악용해 개인이나 집단을 기만하고 정보를 획득하는 방법을 말한다"

사람들을 설득해 특정 행동을 취하게 하거나, 비밀 정보를 누설하게 만드는데 주로 이용되고 있다. 


범죄자나 보안 전문가는 대게 사회공학을 잘 이용하는 사람에 속한다고 한다.


스팸메일이나 자극적인 제목으로 메일을 작성하여 클릭하게 만드는 것도 사회공학이다.


이러한 시나리오도 충분히 가능하다고 본다. 메일 뿐만 아니라 USB에 악성파일을 삽입해두고, 그 파일의 제목을

사람들이 클릭하게끔 적어두는 것이다. 가령 여자친구사진 이라던가 연봉정보 라던가.. 대부분의 사람들은 그 USB를 주웠을 때

호기심에 열어볼 것이다. 윤리에 어긋나는 행동이지만, 범죄자는 그 윤리에 어긋나는 행동을 역으로 이용할 수 있는 것이다. 


요즘 win10 같은 경우는 자동실행을 막아두는 경우가 있다. 하지만, 자동실행은 막아두었지만 악성코드 전파는 충분히 가능하다고 본다.

그 폴더를 클릭했을 때 사실상 폴더가 아니라 exe라면? 그리고 속이기 위해 가짜 파일까지 추가 해둔다면? 

USB를 주운 사람은 남의 정보를 보고 있다는 쾌감에 사로잡혀 열심히 보고 있을 때 자신 컴퓨터의 정보는 크래커에게 빠져나가는 시나리오도 

충분히 실현 가능성 있는 시나리오라고 본다. 


이 얘기를 굳이 언급하는 이유는 남의 usb를 함부러 열람하지말자는 취지 이기도 하다. 


나 같은 경우는 USB를 자주 잃어버려서 중요한 USB는 암호화 시켜둔다. 대부분의 일반인들은 USB에 암호화를 시켜두지 않을 것이다.

자신의 소중한 데이터가 남이 열람하는건 기분이 상당히 나쁠 것이다. USB는 잃어버리면 찾을 수 없는 물건이라 생각되기 때문에

설령 자신이 다른사람의 USB를 주웠으면 데이터를 열람하지말고 깔끔하게 포맷해서 사용했으면 좋겠다. 


USB를 이용하는 사례중에 생각나는게 있다. 소위 역사회공학(Reverse Social Engineering)이라고 표현한다.

역사회공학에서는 공격하려는 시스템이나 환경에 고의로 문제를 발생시킨다. 그 후 그 시스템을 고치는 직원으로 위장침입하여 프로그램이나 시스템을 고치는 척 시늉한다.  이러한 시나리오는 대게 영화에서 많이 봤던 것으로 기억한다. 난 현재 실무에서 종사하는 실무자가 아닌 공부 중인 대학생이기 때문에 이와 비슷한 많은 일이 일어나는지는 모른다. 하지만, 조심해야하는 것은 맞는 것 같다. 만약 이러한 시스템이 스카다 시스템 이나 중요 정보 시설의 정보라면 엄청난 위험에 사로잡힐 것이다. 아무튼 이야기를 이어가자면, 시스템을 고치는 직원으로 위장침입한 크래커는 자신이 망가뜨린 시스템이니 복구하는 방법을 잘 알고 있을 것이고, 안전하게 복구가 된 후 딱 한마디만 하면 된다. "주기적으로 제가 와서 시스템을 손봐줘도 되겠습니까?"

그러면 그 직원들은 신뢰가 이미 형성되었기 때문에 추후 시스템에 접근할 때 별다른 제약을 걸지 않게 될 것이다. 


USB를 통한 사회공학을 최소한 막는 방법은 무엇이 있을까? 

알고 있는 방법으로는 (100%가 될진 모르겠지만) 이런 것이 있다.


1. USB를 삽입했을 때 USB에 데이터를 쓰지 못하게 값을 변경. 

레지스트리 키의 경로를 아는 사람이면 쉽게 찾아서 값을 변경하겠지만 일차적으로 짧은 시간 내에 중요 파일을 탈취 하는 행위는

막을 수 있을 거라 생각한다.


2. USB를 삽입했을 때 해당 USB가 화이트리스트에 포함되지 않은 드라이버 이름이면 실행 불가 하게 레지스트리 값 변경

모든 USB는 저 마다의 드라이버 이름이 존재하는 것으로 알고 있다. 그렇다면 이를 이용하여 드라이버 이름이 기존에 

등록되어 있는 것과 다른 드라이버가 접근할 때 ACL 권한을 주지 않는 방법을 택할 수도 있을 것 같다.



사회공학에 대해 조금 찾아보니까 "손자병법"이 사회공학 방법을 이용하는 예시라고 해서 배껴 적어보았다. 


적을 공격할 때는 공격하지 않는 것처럼 보여야하고 무력을 행사할 때에는 그렇지 않은 것 처럼 보여야한다.


상대가 다혈질 일 때는 적을 자극해야한다. 약한 것 처럼 속여 적을 오만하게 만들어야 한다.


혼란과 통솔은 조직에 달렸고, 용맹과 비겁은 통합 전력에 달렸다. 강함과 약함은 작전 배치에 달렸다.


한 번 성공한 전술은 반복하면 안 되지만 무궁하게 응용할 수 있어야 한다.

왠지 이 4가지의 문구를 적절하게 응용하면 보안공부하는데도 큰 도움이 될 것 같다. 


아 또 하나 기억 나는것이 있다. 외국에서 '몰래카메라' 느낌으로 진행한 프로젝트인데 참가자들의 sns를 꾸준히 몇 주간 모니터링 한 다음 

참가자들의 생활을 맞출 수 있다는 슬로건을 띠고 진행한 프로젝트였다. 실제로 참가자들은 놀라움을 감추지 못했다.

자신이 했던 모든 일과 말을 다 알고 있었기 때문이다.  어떻게 이게 가능했을까? 

요즘 많은 사람들은 인스타그램이나 페이스북과 같은 SNS에 자신이 어디를 가는지, 지금 무엇을 하는지, 누구와 있는지를 수시로 게시한다.

이것이 순수한 목적으로 사람들과의 의사소통을 위해 진행되는 것이지만, 그 사람에게 악의적인 행위를 가하려고 마음 먹은 범죄자가 있다면 

충분히 빅데이터로 활용할 수가 있다. 




'0x06 Malware' 카테고리의 다른 글

[issue] miner.exe 내부 분석 겸 공부  (0) 2017.12.18
[issue] 페이스북 video_xxx.zip  (0) 2017.12.18
강의 준비  (0) 2017.12.08
기초 공부중  (0) 2017.12.04
기초 공부 중  (0) 2017.12.04